为了账号安全,请及时绑定邮箱和手机立即绑定

ES6函数名称总结

标签:
前端工具

当对一个函数递归或者栈追踪的时候,就会觉得函数名称是多么的重要。否则满屏的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


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消