账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    [已解决】airbnb javascript style guide中关于对象定义的一个疑问
    • 2018-03-16 00:00
    • 11
    27
    0

    背景

    定义动态属性?
    完全没看懂啊,这有什么用?

    问题

    1. getKey方法,返回的是什么东西?那个`的标志根本就不是引号呀.这是啥玩意儿?

    2. obj对象中的第3个属性,属性名为什么要用[]数组字面量的形式?干啥玩意来的?

      • 测试的时候,不加[]这个东西还报错,因为getKey方法返回的东西不是有效的属性名
      • 已解决:ES5里面的可计算属性名,必须用这个括起来 参考:https://developer.mozilla.org...
    3. 就是这个[getKey('enabled)]`属性有啥用?

      • 已解决: 原谅只是推荐,尽量在同一个地方把类写完,计算属性也一样,直接写进对象字面量里面,更容易阅读

    原文

    3.2 Use computed property names when creating objects with dynamic property names.

    Why? They allow you to define all the properties of an object in one place.
    function getKey(k) {
      return `a key named ${k}`;
    }
    
    // bad
    const obj = {
      id: 5,
      name: 'San Francisco',
    };
    obj[getKey('enabled')] = true;
    
    // good
    const obj = {
      id: 5,
      name: 'San Francisco',
      [getKey('enabled')]: true,
    };

    参考

    https://github.com/airbnb/jav...

    1
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部