ES6中const对象键的命名约定

时间:2016-10-27 18:28:39

标签: javascript ecmascript-6 naming-conventions

es6中const对象中的键名是否有推荐的命名约定?我无法找到一个资源,说明它们应该是大写还是小写。

const COLOR_CODES = {
  BLUE: 1,
  RED: 1
};

VS

const COLOR_CODES = {
  blue: 1,
  red: 1
};
这篇MDN文章中的

The examples显示了这两种风格,所以两者都可以接受。

4 个答案:

答案 0 :(得分:14)

请注意:请注意,已接受的回复包含指向过时的Google风格指南的链接

这很好(字符串文字或整数文字):

const PI = 3.14;
const ADDRESS = '10.0.0.1';

但是...

const myObject = { key: 'value' };
const userSuppliedNumber = getInputNumber()

resize说:

  

使用const或let声明所有局部变量。使用const by   默认情况下,除非需要重新分配变量。 var关键字   不得使用。

     

每个常量都是@const静态属性或模块本地const   声明,但不是所有@const静态属性和module-local   consts是常数。在选择常量情况之前,请考虑是否   这个领域真的感觉像一个深刻不变的常数。例如,   如果该实例的任何可观察状态可以改变,那就差不多了   当然不是一个常数。仅仅打算永远不会改变对象   通常是不够的。

Google JavaScript Style Guide说:

  

...以资本命名的常量仅用作“硬编码”的别名   值。

答案 1 :(得分:11)

根据Google的说法,它将全部上限。根据经验,大多数其他编程语言都有全部上限,所以我建议使用它。

使用NAMES_LIKE_THIS作为常量值。

使用@const表示一个常量(不可重写)指针(变量或属性)。

Google javascript指南 https://google.github.io/styleguide/javascriptguide.xml

答案 2 :(得分:5)

Google曾推荐过以下内容:

const COLOR_CODES = {
  BLUE: 1,
  RED: 1
};

请参阅:https://google.github.io/styleguide/javascriptguide.xml#Constants

  • 使用NAMES_LIKE_THIS获取常量
  • 使用@const表示常量(不可重写)指针(变量或属性)。
  • 永远不要使用const关键字,因为Internet Explorer不支持。

但是,更新的style guidelines有不同的建议。

答案 3 :(得分:4)

命名约定无处不在,我个人还没有决定我的偏好,但是Airbnb JavaScript Style Guide说的是(在后面的例子中),这是在讨论中添加的内容:

// bad
const PRIVATE_VARIABLE = 'should not be unnecessarily uppercased within a file';

// bad
export const THING_TO_BE_CHANGED = 'should obviously not be uppercased';

// bad
export let REASSIGNABLE_VARIABLE = 'do not use let with uppercase variables';

// ---

// allowed but does not supply semantic value
export const apiKey = 'SOMEKEY';

// better in most cases
export const API_KEY = 'SOMEKEY';

// ---

// bad - unnecessarily uppercases key while adding no semantic value
export const MAPPING = {
  KEY: 'value'
};

// good
export const MAPPING = {
  key: 'value'
};