在JavaScript中,当我这样定义JavaScript如何分配函数的`name`属性?
function aaa(){}
功能我可以name
属性后访问该名称:
aaa.name
将返回
"aaa"
然而,当我通过var
定义功能,在技术上应该是匿名函数没有name
属性:
var aaa=function(){}
但相反,它假定aaa
是函数的名称,并将其分配给name
属性:
aaa.name
也将返回
"aaa"
的JavaScript如何决定什么应该是name
,特别是在考虑到分配可以使用更复杂的情况:
var aaa=bbb=function(){}
或 var aaa=arr[0]=function(){}
?
这是一个称为[推断函数名称](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name#Inferred_function_names)的ES6功能。 – 4castle