더북(TheBook)

이 원칙을 세우게 된 이유는 다음과 같은 코드 때문입니다. 이전 절의 코드에서 타입 표기를 제거한 것입니다.

const str = 'hello'; 
// const str: "hello"
const num = 123; 
// const num: 123
const bool = false; 
// const bool: false
const n = null; 
// const n: null
const u = undefined; 
// const u: undefined
const sym = Symbol('sym'); 
// const sym: typeof sym
const big = 100000000n; 
// const big: 100000000n
const obj = { hello: 'world' }; 
// const obj: { hello: string }

각 변수에 마우스오버해보면 뜻밖의 결과가 나옵니다. 이전 절에서 타입을 표기했던 것과 대부분 다르게 추론됩니다. 결론부터 말하면 타입스크립트의 추론이 더 정확한 추론입니다. const로 선언했기에 str 변수는 'hello' 외의 다른 문자열이 될 수 없습니다. 그런데 이전 절에서는 string으로 표기한 것이죠.

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