本篇文章我们将讨论如何将新的语法应用在编码实践当中,与传统的 JavaScript 语法结合在一起,写出合理的、易于阅读和维护的代码。
所谓"编程风格",指的是编写代码的规则。不同的程序员,往往有不同的编程风格。而且这里的风格包括语法上的编程风格和格式上的编程风格。
一.块级作用域let 取代 var - 语法上的编程风格
1.ES6 提出了两个新的声明变量的命令:let和const。
其中,let完全可以取代var,因为两者语义相同,而且let没有副作用。
if (true) {
let x = ‘hello’;
}
for (let y = 0; y <= 10; y++) {
console.log(y);
}
if (true) {
var x = ‘hello’;//全局变量x
}
for (var y = 0; y <= 10; y++) {//全局变量y
console.log(y);
}
上面代码如果用var替代let,实际上就声明了两个全局变量,这显然不是理想的设计方式。变量应该只在其声明的代码块内有效,var命令做不到这一点。
2.var命令存在变量提升效用,let命令没有这个问题。
if (true) {
console.log(x); // ReferenceError引用错误
let x = ‘hello’;
}
if (true) {
console.log(x); // undefined,变量提升
var x = ‘hello’;
}
3.在let和const之间,建议优先使用const,尤其是在全局环境,不应该设置变量,应设置常量。原因是const可以提醒阅读程序的人,这个变量不能改变,比较符合函数式编程思想,并且JavaScript 编译器会对const进行优化,所以多使用const,有利于提高程序的运行效率。
//传统的方式
var a = 1,
b = 2,
c = 3;
//新的方式
const a