ES6 一些語法
阿新 • • 發佈:2019-01-10
ES6
模板字串
var name = '小明';
var age = 20;
var message = `你好, ${name}, 你今年${age}歲了!`;
你好, 小明, 你今年20歲了!
...運算子
1.展開運算子(類似巢狀)
可以用在陣列和物件上
let a = [1,2,3]; let b = [0, ...a, 4]; // [0,1,2,3,4] let obj = { a: 1, b: 2 }; let obj2 = { ...obj, c: 3 }; // { a:1, b:2, c:3 } let obj3 = { ...obj, a: 3 }; // { a:3, b:2 }
2.剩餘操作符
let a = [1,2,3];
let [b, ...c] = a;
b; // 1
c; // [2,3]
// 也可以
let a = [1,2,3];
let [b, ...[c,d,e]] = a;
b; // 1
c; // 2
d; // 3
e; // undefined
// 也可以
function test(a, ...rest){
console.log(a); // 1
console.log(rest); // [2,3]
}
rest引數(剩餘引數,與...運算子一起使用)
function foo(a, b, ...rest) { console.log('a = ' + a); console.log('b = ' + b); console.log(rest); } foo(1, 2, 3, 4, 5);// 結果:// a = 1// b = 2// Array [ 3, 4, 5 ]
解構賦值
可以對多個變數同時賦值
var [x, y, z] = ['hello', 'JavaScript', 'ES6']; 如果需要從一個物件中取出若干屬性,也可以使用解構賦值,便於快速獲取物件的指定屬性: var person = { name: '小明', age: 20, gender: 'male', passport: 'G-12345678', school: 'No.4 middle school' }; var {name, age, passport} = person;