1. 程式人生 > >ES6 一些語法

ES6 一些語法

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;