더북(TheBook)

2.28 원시 자료형에도 브랜딩 기법을 사용할 수 있다

이 절에서는 2.13절을 조금 더 응용하여 자바스크립트에서는 할 수 없었던 것을 가능하게 하는, 타입스크립트만의 기법을 하나 소개하겠습니다.

원시 자료형 타입에 브랜드 속성을 추가하는 기법입니다. 이 기법을 사용하면 string, number 같은 원시 자료형 타입도 더 세밀하게 구분할 수 있습니다.

문제 상황은 다음과 같습니다. 다음과 같이 킬로미터를 마일로 바꿔주는 함수가 있습니다.

function kmToMile(km: number) {
    return km * 0.62;
}
const mile = kmToMile(3);

자바스크립트 입장에서는 3이라는 숫자가 있을 때 이 숫자가 킬로미터 단위인지 마일 단위인지 알 길이 없습니다. 숫자라는 타입은 있지만 킬로미터나 마일이라는 타입은 없기 때문입니다. 이럴 때 브랜딩 기법을 사용해서 더 구체적으로 타입을 정할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.