더북(TheBook)

const 대신 let을 사용하는 경우도 한번 보고 넘어가면 좋습니다.

let str = 'hello'; 
// let str: string
let num = 123; 
// let num: number
let bool = false; 
// let bool: boolean
let n = null; 
// let n: any
let u = undefined; 
// let u: any
let sym = Symbol('sym'); 
// let sym: symbol
let big = 100000000n; 
// let big: bigint
let obj = { hello: 'world' }; 
// let obj: { hello: string }

let을 사용하면 const와는 전혀 다르게 타입을 추론합니다. let으로 선언한 변수는 다른 값을 대입할 수 있기에 타입을 넓게 추론하는 것입니다. 이러한 현상을 타입 넓히기(Type Widening)라고 부릅니다. 다만 자료형을 바꾸는 경우는 그리 많지 않으므로 처음 대입한 값의 타입을 기반으로 추론합니다. 'hello'string이므로 str 변수도 string으로 추론하는 식입니다.

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