深入理解ES6--函数之name属性

作者: 翻滚的前端程序员 | 来源:发表于2017-08-15 21:45 被阅读52次

函数的name属性返回该函数的函数名。

非匿名函数

function foo(){}

foo.name // "foo"

匿名函数

var foo = function(){}

es5: foo.name // ""
es6: foo.name // "foo"

非匿名函数赋值给变量

const foo = function bar(){}

foo.name  // "bar" 权重更高

bind返回的函数,name属性值会加bound前缀

function foo(){}

foo.bind({}).name  // "bound foo"

Function构造函数返回

(new Function()).name  // "anonymous"

注意:name属性只是协助调试的额外信息,并不能通过name属性获取对函数的引用

原文地址:http://omeme.me/2017/08/15/shen-ru-li-jie-es6-han-shu-zhi-nameshu-xing/,长期更新es6系列。

相关文章

网友评论

    本文标题:深入理解ES6--函数之name属性

    本文链接:https://www.haomeiwen.com/subject/ontbrxtx.html