ES6 中 const 对象内的键名是否有推荐的命名约定?我无法找到说明它们应该是大写还是小写的资源。
const COLOR_CODES = {
BLUE: 1,
RED: 1
};
对
const COLOR_CODES = {
blue: 1,
red: 1
};
这篇 MDN 文章中的示例显示了两种风格,所以也许两者都是可以接受的。
注意:请注意,接受的回复有一个过时的 Google 风格指南的链接
这很好(字符串文字或整数文字):
const PI = 3.14;
const ADDRESS = '10.0.0.1';
但是...
const myObject = { key: 'value' };
const userSuppliedNumber = getInputNumber()
Google JavaScript 风格指南 说:
使用 const 或 let 声明所有局部变量。使用 const by 默认值,除非需要重新分配变量。 var 关键字 不得使用。每个常量都是 @const 静态属性或模块本地常量 声明,但不是所有 @const 静态属性和模块本地属性 const 是常量。在选择常量情况之前,请考虑是否 这个领域确实感觉像是一个不可改变的常数。例如, 如果该实例的任何可观察状态可以改变,那么它几乎是 当然不是一个常数。只是不想改变对象 一般是不够的。
JavaScript.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'
};
const COLOR_CODES = {
BLUE: 1,
RED: 1
};
参见:
https://google.github.io/styleguide/javascriptguide.xml#Constants
NAMES_LIKE_THIS
表示常数值。
@const
表示常量(不可重写)指针(变量或属性)。
const
关键字,因为 Internet Explorer 不支持它。
风格指南有不同的建议。
goog.example.TIMEOUT_IN_MILLISECONDS = 60;
const colorCodes = {
BLUE: 1,
RED: 1
};