Type Scriptインデックスタイプ
4203 ワード
インデックス・タイプを使用すると、静的チェックがタイプが不確定(挙げられない)な「ダイナミック」シーンに上書きされます.
let Obj = {
a: 1,
b: 2,
c: 3
};
let getValues = <T, K extends keyof T>(obj: T, keys: K[]): T[K][] => {
return keys.map(key => obj[key]);
};
console.log(getValues(Obj, ["a", "b"]));
console.log(getValues(Obj, ["d", "b"]));
interface Obj {
a: Number;
b: String;
}
let key: keyof Obj; // a | b
let value: Obj["a"]; // Number