book
book copied to clipboard
[質問] Mapped Typesの”インデックス型と異なるところ”について
Mapped Typesはインデックス型と異なりsymbol型もキーにすることができます。
Mapped Typesのページではこのように説明されていますが、インデックス型のページではsymbol型も指定できるとありました。
インデックス型のフィールド名の型はstring、number、symbolのみが指定できます。
実際にやってみるとsymbol型に出来たのですが、バージョンによって異ったりするのでしょうか?
// v4.7.4
let obj: {
[K: symbol]: number;
};
obj = { [Symbol("hoge")]: 3 };
console.log(obj); // { [Symbol(hoge)]: 3 }
関連ページ: https://typescriptbook.jp/reference/type-reuse/mapped-types