は単純なプログラムです:typescriptにインターフェイスでカスタムシンボルを使用する際に制限があるのはなぜですか?ここで
const mySymbol = Symbol();
interface Fails {
[mySymbol]: boolean;
}
interface Succeeds {
[Symbol.hasInstance]: boolean;
}
そして、ここではcomplingから出力されます:
$ tsc --lib es6 odd.ts
odd.ts(3,3): error TS1169: A computed property name in an interface must directly refer to a built-in symbol.
エラーは、組み込みのシンボルは活字体界面特性のタイプとして使用することができることを、理解できます、これは任意の制限のようです。
なぜこの制限が存在するのか説明できますか?
ありがとうございます!完璧な意味合いを持つ。 –
しかし、おそらく、よく知られているhasInstanceのようなシンボルは、コンパイラに知られています。そして、私はそれが再割り当てされている場所で面白いビジネスは起こっていないと推測されます。 –
正しい - 'Symbol'オブジェクトの宣言されたメンバは、その点で「通常」であるとみなされます –