为什么我的箭头函数有一个原型属性?
Why does my arrow function have a prototype property?
如文档中所述
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/Arrow_functions
箭头函数没有原型属性
但是当我在 fiddle 上 运行 时,为什么它给出 object
?
http://es6console.com/iwyii5vm/
为什么是送对象?
var Foo = () => {};
console.log(Foo.prototype);
如果你在原生 ES6 引擎中 运行 这段代码,箭头函数将不会有 prototype
属性。
原生 ES6 示例:
var Foo = () => {};
console.log(Foo.prototype);
但是,如果代码被转译为 ES5 代码,它将不是真正的箭头函数,并且会有 prototype
属性.
使用 Babel 转译 ES6 的示例:
(此代码段启用了 Babel)
var Foo = () => {};
console.log(Foo.prototype);
在 es6console.com
的情况下,正在使用转译器,这就是您看到此行为的原因。
这似乎是 es6console 实现 es6 功能的方式的实现细节。它在原生支持箭头函数的 Chrome 中正常工作。
如文档中所述 https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/Arrow_functions
箭头函数没有原型属性
但是当我在 fiddle 上 运行 时,为什么它给出 object
?
http://es6console.com/iwyii5vm/
为什么是送对象?
var Foo = () => {};
console.log(Foo.prototype);
如果你在原生 ES6 引擎中 运行 这段代码,箭头函数将不会有 prototype
属性。
原生 ES6 示例:
var Foo = () => {};
console.log(Foo.prototype);
但是,如果代码被转译为 ES5 代码,它将不是真正的箭头函数,并且会有 prototype
属性.
使用 Babel 转译 ES6 的示例:
(此代码段启用了 Babel)
var Foo = () => {};
console.log(Foo.prototype);
在 es6console.com
的情况下,正在使用转译器,这就是您看到此行为的原因。
这似乎是 es6console 实现 es6 功能的方式的实现细节。它在原生支持箭头函数的 Chrome 中正常工作。