鍍金池/ 問答/HTML/ [已解決】airbnb javascript style guide中關(guān)于對象定

[已解決】airbnb javascript style guide中關(guān)于對象定義的一個疑問

背景

定義動態(tài)屬性?
完全沒看懂啊,這有什么用?

問題

  1. getKey方法,返回的是什么東西?那個`的標志根本就不是引號呀.這是啥玩意兒?

  2. obj對象中的第3個屬性,屬性名為什么要用[]數(shù)組字面量的形式?干啥玩意來的?

    • 測試的時候,不加[]這個東西還報錯,因為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...

回答
編輯回答
壞脾滊

沒有人回答么?

2017年9月16日 11:49
編輯回答
故人嘆
var a  = func()
var obj = {
  [a]: xxx
}

因為a的值是不確定的一個計算所得的值,所以要用這種[a]寫法。

2017年10月16日 05:49