继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

ES6函数名称总结

墨色风雨
关注TA
已关注
手记 300
粉丝 75
获赞 350

当对一个函数递归或者栈追踪的时候,就会觉得函数名称是多么的重要。否则满屏的anonymous分分钟想打人。今天阅读《你不知道的JavaScript》(下卷)的时候,发现作者有对name进行总结,于是在这里记录一下,以便加深记忆,日后查阅。

下面是ES6中名称推导的其他几种形式:

(function(){});   // name: ""(空字符串)(function*(){});   // name: ""window.foo = function(){};   // name: ""class Awesome {    constructor() {}   // name: Awesome
    funny() {}   // name: funny}var c = class Aewsome {};   // name: Aewsomevar o = {
    foo() {},   // name: foo
    *bar() {},   // name: bar
    baz: () => {},   // name: baz 
    bam: function(){},   // name: bam
    get qux() {},   // name: get qux
    set fuz() {},   // name: set fuz
    ["b" + "iz"]: function(){},   // name: biz
    [Symbol("buz")]: function(){}    // name: [buz]};var x = o.foo.bind(o);   // name: bound foo(function(){}).bind(o);   // name: boundexport default function() {};   // name: defaultvar y = new Function();   // name: anonymous

默认情况下,name属性不可写,但是可以配置。如果需要,可使用Object.defineProperty()手动修改。



作者:坤少卡卡
链接:https://www.jianshu.com/p/5c079a154c07


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP