1
enum Enum {
A = 2
}
const n = Enum.A
const a = Enum[2]
智能感知/完成的.A,但不是[2]
這是因爲conpletion不受trigguered [像它是爲了。?或者根本不工作?
enum Enum {
A = 2
}
const n = Enum.A
const a = Enum[2]
智能感知/完成的.A,但不是[2]
這是因爲conpletion不受trigguered [像它是爲了。?或者根本不工作?
正常情況下,您無法使用[]運算符(在打字稿中)獲得智能感知。
但你總是可以用枚舉[Enum.A]將爲您提供相同的結果,你仍然可以得到Enum.A智能感知:利用打字稿2.4.1
enum Enum {
A = 2
}
console.log(Enum.A); // 2
console.log(Enum[Enum.A]); // A
謝謝你。看到我對鄧肯對我的問題的評論 - 我一直在想它。 –
在我VSCode副本,'n'被推斷爲'Enum','a'被正確地推斷爲'string'。你使用什麼版本的打字稿? – Duncan
啊哈!你向我展示了我思想的錯誤。在我看來,這些值是一組有限的值,而不是一個數字。因此我期待intellisense能夠提供這些值的列表並將任何不在該集合中的數字進行紅線。我希望在我輸入Enum的時候顯示它。[ –
這是一個有趣的想法,我猜如果'a'的類型被推斷爲只是那些字符串而不是任何字符串,那麼它就會有意義。也許在未來版本的打字稿中。 – Duncan