1、ES6语法

1、let声明方式:

// 1、声明方法:
let a;
let b;
let c = 12;
let d = 23, e=123;

// 2、不能重复声明
let start = 12;
let start = 23;

// 3、没有变量提升
console.log(song);
let song = 'word';

// 4、有作用域块
{
      var name = ‘张三’;  
}
console.log(name);  // 报错

// 5、不影响作用域链
{
      let school = ‘小学’;
      function fn() {
        console.log(school);
     }  
    fn();
}    

  

2、const声明方式:

// 1、声明方法
const SCHOOL= '学校';

// 2、一定要初始化
const A;  // 报错
const A = 12;

// 3、一般常量声明使用大写

// 4、有块级作用域

// 5、常量的值不能修改
const A = 12;
A = 20;   // 报错

// 6、对于数组和对象的元素修改,不算是对常量的修改
const CITY = ['上海', '广州', '深圳'];
CITY.push(‘北京’);   // 不会报错

  

3、解构赋值:按照一定模式从数组/对象中提取值,对变量进行赋值。

        // 1、数组解构
        const F4 = ['小沈阳', '刘能', '赵四', '宋小宝'];
        let [xsy,ln,zs,sxb] = F4;
        console.log(xsy);
        console.log(sx);
        console.log(zs);
        console.log(sxb);

        // 2、对象结构
        const zhao = {
            name: '赵本山',
            age: 60,
            skill: ()=>{
                console.log('演小品');
            }
        };
        let {name, age, skill} = zhao;
        console.log(name);
        console.log(age);
        console.log(skill);   
        skill();

        let {skill} =zhao;  // 可以单独将方法结构出来
        skill();   // 解构后调用这个方法
        zhao.skill();  // 这是原来没有解构调用

  

4、模板字符串:es5引入的新的声明字符串的方法

        // 1、声明 反引号 ``;
        let str = `我是一个模板字符`;

        // 2、可以在内容中出现换行,不用再用加号拼接
        let strs = `
            <ul>
                <li>北京</li>
                <li>上海</li>
                <li>深圳</li>
            </ul>
        `;

        // 3、变量拼接
        let actor = '史坦森';
        let msg = `${actor}is a best actor`;
        console.log(msg);

  

5、es6对象简化写法:允许在大括号里面直接写入变量和函数,

作为对象的属性和方法。

        // 1、对象简化
        let name = '张三';
        let change = () => {
            console.log('hello word');
        };

        const msg = {
            // ①、原来写法
            // name:name,
            // change: change
            // inprove: function() {

            // }

            // ②、简化写法
            name,
            age,
            improve() {   // 简化声明函数写法

            }
        }
        console.log(msg);

  

6、箭头函数:this指向问题

        let msg= {
            name: '张三',
            init: ()=> {
                // this指向的是他所在的对象的【父级】,msg的父级
                // 也就是Window
                console.log(this);
            }
        }

  

 

posted @ 2021-06-03 09:44  Y字仇杀队  阅读(46)  评论(0编辑  收藏  举报