1. 块级作用域

    2. 关键字let

    3. 常量关键字const

    4. ```javascript //对象字面量的属性赋值简写 let name = ‘Peter’; let gender = ‘male’; let person = { name, gender }

    console.log(person);

    1. ![](https://cdn.yuque.com/yuque/0/2018/png/146799/1531476018704-c6d89fbb-02d0-4692-b695-8a729bdebef5.png#width=487)
    2. 5. ```javascript
    3. //赋值解构
    4. let person = { name:"Peter", gender:"male" };
    5. //相当于 let name = person.name; let gender = person.gender;
    6. let { name, gender } = person;
    1. ```javascript //函数参数 - 默认值、参数打包、 数组展开(Default 、Rest 、Spread)

    //Default function newPerson( name=’Peter’, gender=’male’ ){ return { name, gender }; }

    //Rest function f(x, …y) { // y is an Array return x * y.length; } f(3, “hello”, true) == 6 //true

    //Spread function newPerson(age, params){ return {age, …params}; } //测试结果如下图

    1. ![](https://cdn.yuque.com/yuque/0/2018/png/146799/1531476611673-63d44ce8-234f-435f-a415-32acedd5a20a.png#width=548)
    2. 7. ```javascript
    3. //箭头函数 Arrow functions
    4. const newPerson = ( name, age ) => ({ name, age });
    5. let peter = newPerson( 'Peter', 25 );
    6. /**
    7. (1).简化了代码形式,默认return表达式结果。
    8. (2).自动绑定语义this,即定义函数时的this。如上面例子中,forEach的匿名函数参数中用到的this
    9. */
    1. ``` //字符串模板 Template strings

    let name = ‘Peter’;

    console.log(My name is ${name}.); ```

    ES6新特性 - 图1