引言:这是ES6系列教学的最后一篇。我们讲解一下ES6编程的规范。 |
一、定义变量的规范
let、const取代var
let关键字可以完全取代var,因为两者语义相同,而且let完全没有副作用。 全局常量
优先使用const来定义全局常量。如下代码。
// bad var a=1,b=2,c=3; //good const a= 1; const b= 2; const c= 3; // best const [a,b,c] = [1,2,3];
二、字符串
静态字符串一律使用单引号或反引号,不使用双引号。动态字符串使用反引号。
// bad const a = "haha"; const b = 'ha' + a + 'kk'; //good const c = `hahaha`; //best const a = 'hahaha'; const b = `kk${a}kk`;
三、对象
单行定义对象时,最后一个成员不以逗号结尾。多行定义时,最后一个成员以逗号结尾。
// bad const a = {k1 : v1, k2: v2} const b = { k1:v1, k2:v2 }; // good const a = {k1 : v1, k2: v2} const b = { k1:v1, k2:v2, };
对象尽量静态化,一旦定义,就不得随意添加新的属性。如果添加,要使用Object.assign()方法。
四、数组
使用扩展运算符(...)复制数组。
// bad const len = items.length; const itemCopy = []; let i; for(i=0;i<len;i++) { itemCopy[i] = items[i]; } //good const itemCopy = [...items];
五、函数
立即执行函数尽量写成箭头函数的形式。
(() => { console.log('Welcome to the ES6'); })();
那些需要使用函数表达式的场合,尽量用箭头函数代替。因为这样更整洁,而且绑定了this。
// bad [1,2,3].map( function(x) { return x*x; }); // good [1,2,3].map( (x) => { return x*x; });
查看更多ES6教学文章:
参考文献
阮一峰 《ES6标准入门(第2版)》