我試過宣佈無濟於事。這是我想要做的簡單事情:如何克服打字稿的傳播限制?
this.scoreStack = [...Array(3).keys()];
顯然,typescript不支持這種解構方法。 我收到:
符號「鑰匙」不能得到妥善解決,很可能它位於一個 人跡罕至模塊
在有沒有一種方法,我可以定義鍵()方法,並得到了這個限制?
我試過宣佈無濟於事。這是我想要做的簡單事情:如何克服打字稿的傳播限制?
this.scoreStack = [...Array(3).keys()];
顯然,typescript不支持這種解構方法。 我收到:
符號「鑰匙」不能得到妥善解決,很可能它位於一個 人跡罕至模塊
在有沒有一種方法,我可以定義鍵()方法,並得到了這個限制?
有沒有一種方法,我可以定義鍵()方法,並克服這一侷限性
你可以聲明這很容易:
declare global {
interface Array<T> {
keys():string[];
}
}
const x = [...Array(3).keys()];
Array#keys
是ES6中的一種新方法。
您的代碼片段爲我編譯好,但您必須設置-t es2015
(標記爲「實驗」)。
難道這不直接輸出到ES2015?我想留在ES5 –
Array(3).keys()
返回iterator.To在迭代器和目標es5上使用擴展運算符使用--downlevelIteration
開關。
按打字稿documentation
使用downlevelIteration
開關提供iterables全力支持for..of
,瞄準ES5或ES3當傳播和解構。
這工作完美:D –
嗯,它在編譯檢查工作,但不是在編譯後。爲了它的工作,我們需要導出到ES2015(ES6),然後使用Babel。 –