객체에서 T 추론
user 객체를 보고 name, age, city 속성을 가진 타입을 만듭니다.
K extends keyof T는 두 번째 인자가 실제 객체 키 중 하나인지 먼저 확인하고, T[K]로 결과 타입을 보존합니다.
user 객체를 보고 name, age, city 속성을 가진 타입을 만듭니다.
가능한 키는 "name" | "age" | "city" 유니온이 됩니다.
"address"처럼 목록 밖의 문자열은 인자로 받을 수 없습니다.
key가 "age"이면 결과는 number, "name"이면 string입니다.