TypeScript

keyof 사용법

milliwonkim 2023. 2. 25. 10:03
반응형
SMALL

interface에 정의된 name, age, address에 Object.keys한 느낌임

 

따라서

 

interface Person {
	name: string;
    age: number;
}

keyof Person // 'name' | 'age'
interface Person {
    name: string;
    age: number;
    address: string;
}

type PersonKeys = keyof Person;

function getProperty(obj: Person, key: keyof Person) {
    return obj[key];
}

const person: Person = {
    name: 'John',
    age: 30,
    address: '123'
}

getProperty(person, 'name') // 정상
getProperty(person, 'names') 
/**
Argument of type '"names"' is 
not assignable to parameter of type 'keyof Person'.(2345)
*/
반응형
LIST