[typescript] 제약 조건을 고려한 타입 추론 향상
타입스크립트는 자바스크립트의 타입을 정적으로 분석하여 타입 오류를 미리 방지해주는 강력한 도구입니다. 제약 조건을 고려한 타입 추론은 타입 추론을 개선하여 코드 작성을 더욱 쉽고 간편하게 만들어줍니다.
제약 조건
제약 조건(constraint)은 타입 변수의 타입을 한정지어 형식의 유연성을 제한하는데 사용됩니다.
function getProperty<T, K extends keyof T>(obj: T, key: K) {
return obj[key];
}
위 예제에서 K extends keyof T
는 K
가 T
객체의 key로 한정됨을 보여줍니다. 이제 K
는 T
객체의 프로퍼티 key로 한정되어 다른 타입에 할당할 수 없습니다.
제약 조건을 활용한 타입 추론
제약 조건을 사용하면 타입 추론이 더욱 강력해지고 정확해집니다. 예를 들어 다음과 같은 코드를 보겠습니다.
function getProperty<T, K extends keyof T>(obj: T, key: K) {
return obj[key];
}
let obj = { name: "Alice", age: 30, location: "Wonderland" };
let name: string = getProperty(obj, "name");
let age: number = getProperty(obj, "age");
let location: string = getProperty(obj, "location");
위 코드에서 getProperty
함수는 T
객체와 K
프로퍼티 key를 받아 해당하는 값의 타입을 추론합니다. 여기서 K
는 keyof T
에 제약을 받아 T
객체의 프로퍼티 key로 한정되었습니다. 따라서 name
, age
, location
변수들의 타입이 정확하게 추론되어 타입 에러를 줄이고 안정성을 높여줍니다.
결론
타입스크립트의 제약 조건을 고려한 타입 추론은 타입 안정성을 높이고 코드 작성을 더욱 쉽고 간편하게 만들어줍니다. 제약 조건을 적절히 활용하여 타입 추론을 개선하고 타입 에러를 줄이는 데에 큰 도움이 됩니다. 코드 작성 시에 제약 조건을 적극 활용하여 타입 안정성을 높이고 안정적인 코드를 작성하는 노력을 하시기 바랍니다.
참고 자료: 타입스크립트 핸드북 - 조건부 타입