mra*_*lau 23 javascript naming-conventions ecmascript-6
es6中const对象中的键名是否有推荐的命名约定?我无法找到一个资源,说明它们应该是大写还是小写.
const COLOR_CODES = {
BLUE: 1,
RED: 1
};
Run Code Online (Sandbox Code Playgroud)
VS
const COLOR_CODES = {
blue: 1,
red: 1
};
Run Code Online (Sandbox Code Playgroud)
这篇MDN文章的例子显示了两种风格,所以两者都可以接受.
San*_*ues 19
注意:请注意,已接受的响应包含指向过时的Google风格指南的链接
这很好(字符串文字或整数文字):
const PI = 3.14;
const ADDRESS = '10.0.0.1';
Run Code Online (Sandbox Code Playgroud)
但...
const myObject = { key: 'value' };
const userSuppliedNumber = getInputNumber()
Run Code Online (Sandbox Code Playgroud)
使用const或let声明所有局部变量.除非需要重新分配变量,否则默认使用const.不得使用var关键字.
每个常量都是@const静态属性或模块本地const声明,但并非所有@const静态属性和模块本地consts都是常量.在选择常量情况之前,请考虑该字段是否真的像一个深不可变的常量.例如,如果该实例的任何可观察状态可以改变,那么它几乎肯定不是常量.仅仅打算永远不会改变对象通常是不够的.
...以资本命名的常量仅用作"硬编码"值的别名.
小智 15
根据谷歌的说法,它将全部上限.从经验来看,大多数其他编程语言都有大写,所以我建议使用它.
使用NAMES_LIKE_THIS恒定值.
使用@const,以指示一个常数(非重写)指针(变量或属性).
Google javascript指南 https://google.github.io/styleguide/javascriptguide.xml
谷歌曾推荐过以下内容:
const COLOR_CODES = {
BLUE: 1,
RED: 1
};
Run Code Online (Sandbox Code Playgroud)
请参阅:https://google.github.io/styleguide/javascriptguide.xml#Constants
NAMES_LIKE_THIS恒定值.@const,以指示一个常数(非重写)指针(变量或属性).const关键字,因为Internet Explorer不支持该关键字.但是,更新的样式指南有不同的建议.
命名约定无处不在,我个人还没有决定我的喜好,但是为了增加讨论,这就是《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'
};
Run Code Online (Sandbox Code Playgroud)