[TS] keyof와 typeof 연산자
TIL
keyof 연산자keyof 연산자는 객체 타입의 모든 프로퍼티 키를 String Literal Union 타입으로 추출하는 연산자이다. 객체의 프로퍼티 값을 가져오는 함수를 작성해보자.interface Person { name: string; hp: number;}function getPropertyKey(person: Person, key: "name" | "hp") { return person[key];}const person: Person = { name: "woodstock", hp: 90,};getPropertyKey(person, "name");이렇게 key의 타입을 "name" | "hp"로 정의하면 Person 타입에 프로퍼티가 추가되거나 수정될 때마다 이 타입도 함께 바꿔야 한다..
[TS] 타입 좁히기
TIL
타입 좁히기 (Type Narrowing)조건문 등을 이용해 넓은 타입에서 좁은 타입으로 타입을 상황에 따라 좁히는 방법을 말한다.function func(value: number | string){ value.Fixed(); // ❌ value.toUpperCase(); // ❌}위 코드에서 value는 number 또는 string 타입일 수 있기 때문에, toFixed()(number 메서드)와 toUpperCase()(string 메서드)를 바로 사용할 수 없다. 따라서 다음과 같이 조건문을 이용해 value의 타입을 보장해줘야 한다.function func(value: number | string){ if (typeof value === "number"){ console.log(v..