<aside> 💡 목차
</aside>
interface Lengthwise {
// length 속성을 가지는 인터페이스
length: number;
}
function constraints<T extends Lengthwise>(arg: T): T {
// T는 객체 타입(length 속성을 반드시 가지는)
console.log(arg.length);
// arg 매개변수는 반드시 .length 속성이 포함되어 있음
return arg;
}
let variable = constraints({
length: 10,
// length 속성을 가진 객체
// +) 추가로 기타 속성 명시가 가능 >> 확장!
value: 3,
addedOption: '안녕하세요',
});
console.log(variable); // { length: 10, value: 3, addedOption: '안녕하세요' }
keyof 연산자