Nodejs为什么常量应该是变量

时间:2017-10-11 07:21:02

标签: javascript node.js constants

node js style guide中,它表示常量应为大写,并使用var而不是const声明

任何人都可以解释为什么会如此? 我认为发明const是为了宣告常量!?

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

const FS = require('fs');

感觉很奇怪但是

const SECOND = 1 * 1000;

感觉还可以。

2 个答案:

答案 0 :(得分:3)

ES6版本之前使用了常量的大写变量。有一个共同的协议是设置大写的常量名称,以告知开发人员不能更改此变量的值,另一种情况是设置前缀为_的私有属性。

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

答案 1 :(得分:3)

本指南来自2011年(原始来源:http://nodeguide.com/style.html#constants),当时还没有#6。本指南中的const表示Mozilla的const扩展,由V8支持,但不符合ECMA标准,或者无法应用于班级成员。

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

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