interface Person{
name:string;
age:number;
}
function getProperty<T,K extends keyof T>(obj:T, key:K):T[K]{
return obj[key];
}
function setProperty<T,K extends keyof T>(obj:T, key:K, value:T[K]):void{
obj[key] = value;
}
const person:Person = {
name:'gibeom',
age:35,
}
console.log(getProperty(person,'name'));
console.log(getProperty(person,'age'));
setProperty(person,'name','modified name');
console.log(getProperty(person,'name'));
console.log(getProperty(person,'age'));
'Developer' 카테고리의 다른 글
[typescript]Decorator - 메소드에 decorator 붙혀서 통제하기 (0) | 2020.10.02 |
---|---|
[typescript]Decorator - 기본 (0) | 2020.10.02 |
[typescript]Generic type - 2개이상 타입 (0) | 2020.10.02 |
[typescript]Generic type - 상속 (0) | 2020.10.02 |
[typescript]Generic class (0) | 2020.10.02 |