【问题标题】:Nodejs why should constants be variablesNodejs为什么常量应该是变量
【发布时间】:2017-10-11 07:21:02
【问题描述】:

node js style guide 中,它说常量应该是大写的并且用var 声明而不是const

谁能解释为什么会这样? 我坚持认为const 是为了声明常量而发明的!?

另外,为什么要全部大写?

const FS = require('fs');

感觉很奇怪,但是

const SECOND = 1 * 1000;

感觉不错。

【问题讨论】:

    标签: javascript node.js constants


    【解决方案1】:

    本指南来自 2011 年(原始来源:http://nodeguide.com/style.html#constants),当时还没有 es6。本指南中的const 表示 Mozilla 的 const 扩展,它受 V8 支持,但不在 ECMA 标准中或不能应用于类成员。

    但由于 ES6 的这一部分在 node.js (http://node.green/#ES2015-bindings-const) 中得到了很好的支持,建议使用它来声明常量。

    请记住,const 声明的作用是创建对值的只读引用。这并不意味着这个值是不可变的,只是引用不能被重新分配。

    【讨论】:

      【解决方案2】:

      ES6 版本之前使用大写变量作为常量。有一种常见的约定是将常量的名称设置为大写,以告知开发人员此变量的值不得更改,另一种情况是使用前缀_ 设置私有属性。

      ES6 之后有一个关键字const 用于声明常量。使用 const 关键字声明的变量在变量的生命周期内不允许更改其值。

      【讨论】:

      • "This style" 含糊不清:你说的是const 还是大写?如果 ES6 引入了const,为什么本指南中有const?这个答案很容易解释。
      • 好的,现在,为什么在 ES6 之前编写的样式指南中有 const,而 const 只在 ES6 中标准化?
      • 这是一个共同的协议
      • 你错过了我的意思:“在ES6之后有一个关键字const如果const在ES6之前不存在,为什么它在指南?
      猜你喜欢
      • 1970-01-01
      • 2017-03-09
      • 2015-06-26
      • 2011-02-16
      • 1970-01-01
      • 2014-07-18
      • 2016-03-25
      • 1970-01-01
      • 2021-04-25
      相关资源
      最近更新 更多