as const 차이점

Tags
부가 설명
as const는 왜 쓰는 거고, 언제 써야 할까? ⇒ 타입을 뽑아낼 때 단순히 number[] 로 나오느냐, 0x10 | 0x11 | 0x12 이렇게 유니온 타입으로 나오냐의 큰 차이를 만들어냄
비고
 

예시1

  • 예시 사항
const OPERATION_CODE = { DISPENSING_AMOUNT_AND_STATUS: 0x10, TEMPERATURE: 0x1c, COVER_STATUS: 0x1b, FULL_MEMORY_DATA: 0x30, UPDATE: 0x50, FULL_CARTRIDGE_DATA: 0x14, IMC: 0x1d, CURRENT_TIME: 0x40, }; const values = Object.values(OPERATION_CODE); type Values = typeof values[number]; // <-- Values의 타입은 단순히 number[] 일 뿐임. console.log(Object.values(OPERATION_CODE))
notion image
const OPERATION_CODE = { DISPENSING_AMOUNT_AND_STATUS: 0x10, TEMPERATURE: 0x1c, COVER_STATUS: 0x1b, FULL_MEMORY_DATA: 0x30, UPDATE: 0x50, FULL_CARTRIDGE_DATA: 0x14, IMC: 0x1d, CURRENT_TIME: 0x40, } as const; // as const 를 붙일 경우 타입을 더 명확하게 볼 수 있다?! const values = Object.values(OPERATION_CODE); type Values = typeof values[number] // <-- Values의 타입은 0x10 | 0x1c | 0x1b | ... | 0x40 이렇게 더 정확하게 타입이 보인다! console.log(Object.values(OPERATION_CODE))
 
notion image