李厚春吧 关注:3贴子:238
  • 1回复贴,共1

【es6】 name属性

只看楼主收藏回复

函数的name属性,返回该函数的函数名。如果将一个匿名函数赋值给一个变量,ES5 的name属性,会返回空字符串,而 ES6 的name属性会返回实际的函数名。


IP属地:河南1楼2017-05-19 13:56回复
    var f = function () {};
    // ES5
    f.name // ""
    // ES6
    f.name // "f"
    上面代码中,变量f等于一个匿名函数,ES5 和 ES6 的name属性返回的值不一样。
    如果将一个具名函数赋值给一个变量,则 ES5 和 ES6 的name属性都返回这个具名函数原本的名字。
    const bar = function baz() {};
    // ES5
    bar.name // "baz"
    // ES6
    bar.name // "baz"
    Function构造函数返回的函数实例,name属性的值为anonymous。
    (new Function).name // "anonymous"
    bind返回的函数,name属性值会加上bound前缀。
    function foo() {};
    foo.bind({}).name // "bound foo"
    (function(){}).bind({}).name // "bound "


    IP属地:河南2楼2017-05-19 13:57
    回复