【发布时间】:2016-12-23 14:31:54
【问题描述】:
我非常喜欢最新的编程约定和最新的编程语言。最近我在Google Guidelines 中看到我们应该使用const 和let 而不是var。
现在在我的项目中,我有这样的命名空间对象变量(如果这就是它们的名称,如果我错了,请纠正我)
var myObj = {
func1: {},
func2: {}
};
var myOtherObj = {
var1: 'foo',
var2: 'bar'
};
我现在应该如何使用新的约定命名这些对象,使用const 或let?我很困惑,因为我不知道这些大物体是否会随着时间而改变……
【问题讨论】:
-
将它们更改为
const并运行代码。如果它因为某些东西想要修改变量而中断,要么修复它,要么将其更改为let。 -
问题是我不太明白像这样的大对象改变意味着什么,如果它是一个简单的局部变量,那么很容易看出它是否被改变了
-
const声明不会使 object 不可变;它使 变量 不可变。 -
不要使用命名空间对象;使用 ES6 模块。
-
@Gothdo 那是什么,我为什么要使用它?
标签: javascript ecmascript-6 conventions