0
使用正常的ECMAScript中,你可以做這樣的事情,在ES6中,您如何獲得生成器內部生成器函數的名稱?
function f() { console.log(this.constructor.name); }
new f() // outputs `f`
然而,一個輕微的修改,
function* f() { console.log(this.constructor.name); }
var g = new f();
g.next() // outputs `GeneratorFunctionPrototype`
反正是有得到發電機的名稱(f
)?
我不認爲功能必須有一個名字,儘管有人可能會爭辯名稱(內部)是「F」。雖然不是一個強有力的參數,但「Function.prototype.name」是非標準的,「constructor.name」實際上只是新對象的一個人工產物,而不是函數。 – user2864740
你必須使用'this'嗎? – Knu