ES6中 const 对象键的变数命名原则

Es6中 const 对象中的键名是否有推荐的变数命名原则?我还没有能够找到一个资源,其中声明,如果他们应该是大写或小写。

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

const COLOR_CODES = {
blue: 1,
red: 1
};

这篇 MDN 文章中的示例 显示了两种样式,因此两种样式都可以接受。

65210 次浏览

根据谷歌的说法,全部都是大写。从经验来说,大多数其他编程语言都有大写,所以我建议使用它。

对于常量值使用 NAMES_LIKE_THIS

使用 @const指示常量(不可覆盖)指针(变量或属性)。

谷歌 javascript 指南 Https://google.github.io/styleguide/javascriptguide.xml

谷歌曾经推荐过以下内容:

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

见: https://google.github.io/styleguide/javascriptguide.xml#Constants

  • 对于常量 价值观使用 NAMES_LIKE_THIS
  • 使用 @const指示常量(不可覆盖) 指针(变量或属性)。
  • 不要使用 const关键字,因为 Internet Explorer 不支持。

但是,更新后的 风格指南有不同的建议。

注意: 注意接受的响应有一个指向过时的 Google 样式指南的链接

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

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

但是..。

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

谷歌 JavaScript 样式指南 说:

使用 const 或 let 声明所有局部变量 缺省值,除非需要重新分配变量 不得使用。

每个常量都是@const 静态属性或模块本地常量 声明,但不是所有@const 静态属性和 module-local 常数是常数。在选择常数大小写之前,请考虑 这个字段真的感觉像是一个不可变的常量。例如, 如果该实例的任何可观察状态可以改变,它几乎是 当然不是一个常量,只是不想改变对象 一般来说是不够的。

Info 说:

大写的常量只用作“硬编码”的别名 价值观。

命名约定到处都是,我个人还没有决定 我的偏好,但是为了增加讨论,这是 Airbnb JavaScript 样式指南说的(参见最后的例子) :

// 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'
};