【发布时间】:2014-02-12 23:22:00
【问题描述】:
使用普通的 ECMAScript 你可以做类似的事情,
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实际上只是新对象的产物 - 而不是函数。 -
一定要用
this吗?
标签: generator v8 ecmascript-harmony