반응형
📝as const
// 'status'의 타입은 리터럴 타입 "loading"으로 고정
const status = "loading" as const;
// [1,2,3]만 허용
const numbers = [1, 2, 3] as const;
리터럴 타입의 값을 그대로 타입으로 사용하게 만드는 역할이며 해당 값이 변하지 않을 "상수"임을 나타내며 TypeScript 컴파일러에게 값의 재할당이나 변경을 방지합니다
📝!postfix
function liveDangerously(x?: number | null) {
// No error
console.log(x!.toFixed());
}
!의 경우 해당 값은 Null이나 Undefined가 아니라는 강제성을 부여하는 명시입니다
데이터를 fetch한 이후에 undefined일수도 있다고 에러를 잡아줄 때 있는데 반드시 있는 경우라면 !을 이용해 처리가 가능합니다
📝optional
function printName(obj: { first: string; last?: string }) {
// ...
}
printName({ first: "Bob" });
printName({ first: "Alice", last: "Alisson" });
? 을 이용해 "값이 없을 수 있다"라고 선언 가능
반응형