9.9 代码风格:var
VS let
VS const
var
能做一件 let
和 const
不能做的事:通过它声明的变量成为全局对象的属性。但是可以通过分配给 window
(浏览器中)和 global
(Node.js 中)实现同样的效果。因此,我建议总是使用 let
和 const
取代 var
。
const
用于不可变变量:
**// Primitive values are immutable
const PUBLIC_SYMBOL = Symbol();
const MAX_ENTRIES = 1000;
// Some objects are immutable
const EMPTY_ARRAY = Object.freeze([]);
Use let for mutable things:
// A primitive whose value changes
let counter = 0;
counter++;
// A mutable object
let obj = {};
obj.foo = 123;// Primitive values are immutable
const PUBLIC_SYMBOL = Symbol();
const MAX_ENTRIES = 1000;
// Some objects are immutable
const EMPTY_ARRAY = Object.freeze([]);
Use let for mutable things:
// A primitive whose value changes
let counter = 0;
counter++;
// A mutable object
let obj = {};
obj.foo = 123;**
这并不是一个艰难的抉择,并且使用 const
声明的可变的对象也没有问题。