js怎样获得函数名称

在 ES 5.1 以及以前的版本里,确实 function expression 的 function name 就是题主说的这个规则, anonymous function expression 的 .name 是空字符串,而不会取 Left hand side indentifier 。// before ES6a = function() {}; // a.name 为 ""但是事情已经发生了变化。从 ES6 开始就不是这样了// since ES6a = function() {}; // a.name 为 "a"b = () =\u0026gt; {}; // b.name 为 "b"c = (0, () =\u0026gt; {}); // c.name 为 ""d = function e() {}; // d.name 为 "e"为此,babel 特意写了一个 transform pluginES2015 function name transform · Babel参考规范http://www.ecma-international.org/ecma-262/6.0/#sec-assignment-operators-runtime-semantics-evaluationhttp://www.ecma-international.org/ecma-262/7.0/#sec-assignment-operators-runtime-semantics-evaluation


    推荐阅读