javascript ES6中常量对象键的命名约定

pkwftd7m  于 2023-02-07  发布在  Java
关注(0)|答案(5)|浏览(150)

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

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

对比

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

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

8hhllhi2

8hhllhi21#

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

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

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

但是...

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

Google JavaScript Style Guide表示:
用const或let声明所有局部变量。默认情况下使用const,除非需要重新分配变量。不能使用var关键字。
每个常量都是一个@const静态属性或一个module-local常量声明,但不是所有的@const静态属性和module-local常量都是常量。在选择常量大小写之前,请考虑该字段是否真的感觉像一个深度不可变的常量。例如,如果该示例的任何可观察状态可以改变,则几乎可以肯定它不是常量。仅仅打算永远不改变对象通常是不够的。
JavaScript.info says:
...大写命名的常量仅用作"硬编码"值的别名。

wrrgggsh

wrrgggsh2#

根据谷歌的说法,它将是全大写的。从经验来看,大多数其他编程语言都是全大写的,所以我建议使用它。
使用NAMES_LIKE_THIS作为常量值。
使用@const指示常量(不可覆盖)指针(变量或属性)。

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

e5nszbig

e5nszbig3#

命名约定到处都是,我个人还没有决定my preference,但为了补充讨论,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'
};
hsgswve4

hsgswve44#

Google曾经推荐过以下几点:

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

参见:www.example.comhttps://google.github.io/styleguide/javascriptguide.xml#Constants

  • 使用NAMES_LIKE_THIS表示常量 * 值 *。
  • 使用@const表示常量(不可覆盖)* 指针 *(变量或属性)。
  • 切勿使用const关键字,因为Internet Explorer不支持该关键字。

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

bhmjp9jg

bhmjp9jg5#

在谷歌风格指南www.example.com中看到goog.example.TIMEOUT_IN_MILLISECONDS = 60;https://google.github.io/styleguide/javascriptguide.xml?showone=Constants#Constants,看起来像是

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

相关问题