以下代碼由ts-node正確編譯和執行。In Typescript什麼是數組作爲函數名稱?
class C {
["abc"]() {
return "C";
}
}
let c = new C();
let className = c["abc"]();
console.log(className);
但我不明白以下作爲類屬性。
["abc"]() {}
我認爲它涉及計算屬性的概念,但我不明白這個語法。
問題1:
[ 「ABC」]是索引爲0與一個字符串元素的數組如果添加函數定義在其周圍,那麼[ 「ABC」](){},則之後怎麼樣了?你怎麼能使用一個數組作爲函數名?
問題2:
爲什麼不通過以下方式來調用成員方法?
c.["abc"]();
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer – SLaks
@SLaks謝謝!這是我以前不知道的概念。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer#Computed_property_names –