7
我知道「新」和直接調用一個正常功能之間的區別。「new」和直接調用generator函數有什麼區別?
但是發電機功能的情況如何?
e.g:
function *counter(){
let n = 0;
while (n < 2) {
yield n++;
}
return 10;
}
var countIter1 = new counter();
var countIter2 = counter();
看來他們是一樣的嗎?
當你再次調用counter()時會發生什麼? –
@JacobKrall將生成另一個生成器 – kelviN
我只查看了當前的規範,但在描述['GeneratorFunction'構造函數]的部分下面(http://people.mozilla.org/~jorendorff/es6-draft .html#sec-generatorfunction-objects),它說明了關於結果函數的以下內容...... *「爲使用GeneratorFunction構造函數創建的每個函數自動創建一個prototype屬性,以提供該函數將用作一個構造函數。「*所以這不是一個完整的答案,但它確實表明它們可以正確地用作構造函數。 –