ES6 中 const 对象键的命名约定

问题描述 投票:0回答:5

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

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

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

这篇 MDN 文章中的示例显示了两种风格,所以也许两者都是可以接受的。

javascript ecmascript-6 naming-conventions
5个回答
76
投票

注意:请注意,接受的回复有一个过时的 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 说:

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


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

使用

NAMES_LIKE_THIS

 获取常数值。

使用

@const

 表示常量(不可重写)指针(变量或属性)。

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


34
投票
命名约定无处不在,我个人还没有决定

我的偏好,但要添加到讨论中,这是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' };
    

9
投票
Google 曾经推荐过以下内容:

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

参见:

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

    使用
  • NAMES_LIKE_THIS
     表示常数 
  • 使用
  • @const
     表示常量(不可重写)
    指针(变量或属性)。
  • 切勿使用
  • const
     关键字,因为 Internet Explorer 不支持它。
但是,更新后的

风格指南有不同的建议。


0
投票
在谷歌风格指南中看到

goog.example.TIMEOUT_IN_MILLISECONDS = 60;

https://google.github.io/styleguide/javascriptguide.xml?showone=Constants#Constants这似乎是这样的

const colorCodes = { BLUE: 1, RED: 1 };
    
© www.soinside.com 2019 - 2024. All rights reserved.