函数的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系列。