本文共 2219 字,大约阅读时间需要 7 分钟。
const
代替var
常量是永远不变的变量,这样声明变量可以确保它们永远不变。
/* 旧方法 */var i = 1;/* 正确方式 */const i = 1;
let
替换变量,而不是var
let语句声明了一个具有块作用域的局部作用域变量
/* 不适当的*/var myVal = 1;for (var i; i < 10; i++){ myVal = 1 + i;}/* 正确方式*/let myVal = 1;for (let i; i < 10; i++){ myVal += i}
用快捷方式声明对象
/* 旧方法 The Object() class makes an unnecessary function call*/const myObject = new Object();/* 正确方式*/const myObject = { };
/* 旧方法 */const myStringToAdd = "world";const myString = "hello " + myStringToAdd;/* 正确方式*/const myStringToAdd = "world";const myString = `hello ${ myStringToAdd}`;
/* 不适当 */const customObject = { val: 1, addVal: function () { return customObject.val + 1; }}/* 正确方式*/const customObject = { val: 1, addVal(){ return customObject.val++ }}**加粗文字**
/* 旧方法*/const value = 1;const myObject = { value: value}/* 正确方式*/const value = 1;const myObject = { value}
/* 旧方法 */const object1 = { val: 1, b: 2 };let object2 = { d: 3, z: 4 };object2.val = object1.val;object2.b = object1.b;/* 正确方式 */const object1 = { val: 1, b: 2 };const object2 = { ...object1, d: 3, z: 4 }
/* 不适当*/const myArray = [];myArray[myArray.length] = "hello world";/* 正确方式 */const myArray = [];myArray.push('Hello world');
/* 不适当*/const array1 = [1,2,3,4];const array2 = [5,6,7,8];const array3 = array1.concat(array2);/* 正确方式 */const array1 = [1,2,3,4];const array2 = [5,6,7,8];const array3 = [...array1, ...array2]
/* 不适当*/function getFullName(client){ return `${ client.name} ${ client.last_name}`;}/* 正确方式 */function getFullName({ name, last_name}){ return `${ name} ${ last_name}`;}
/* 不适当*/const object1 = { a: 1 , b: 2 };const a = object1.a;const b = object1.b;/* 正确方式 */const object1 = { a: 1 , b: 2 };const { a, b } = object1;
reduce
代替forEach
和for
来求和/* 不适当*/const values = [1, 2, 3, 4, 5];let total = 0;values.forEach( (n) => { total += n})/* 不适当*/const values = [1, 2, 3, 4, 5];let total = 0;for (let i; i < values.length; i++){ total += values[i];}/* 正确方式 */const values = [1, 2, 3, 4, 5];const total = values.reduce((total, num) => total + num);
转载地址:http://enozi.baihongyu.com/