TypeScript2.1.4 で導入された `keyof` キーワードと `in` キーワード、そして Lookup Types と Mapped Types

keyof キーワード key とオブジェクトを受け取りプロパティの値を取り出す関数を考えます。 function getProp(obj: {}, key: string) { return obj[key]; } この関数使って変数を宣言すると型推論では返り値は any になってしまいます。 const urara = { age: 15, name: "chiya", }; const a = getProp(urara, 'age'); // …