ES2016基础语法

概述

变量

块级作用域

        var str = "hello";
        console.log(str);//hello

        {
            var str1 = "world";
        }
        console.log(str1);//world

        {
            let str2 = "helloworld";
        }
        console.log(str2);//报错,let的作用域在代码块中

不存在变量提升

        console.log(str1);//undefined
        var str1 = "hello";

        console.log(str2);//报错
        let str2 = "world";

不允许重复声明

常量

        const PI = 3.14;
        console.log(PI);//3.14

模板字符串

模板字符串``

  • 支持换行

  • 支持嵌入

        let year = "2022";
        let month = "10";
        let day = "26";
        let result1 = year + "年" + month + "月" + day + "日";
        console.log(result1);//2022年10月26日
        let result2 = `${year}年${month}月${day}日`;//${}里放变量
        console.log(result2);//2022年10月26日

解构赋值

数组的解构赋值

/*
        //如果要将两数互换,以前的写法
        let m=10;
        let n=20;
        let temp;
        temp=n;
        n=m;
        m=temp;
        console.log(m,n);//20 10
        */
        //解构赋值的写法
        let [m,n]=[10,20];
        [m,n]=[n,m];
        console.log(m,n);//20 10

对象的解构赋值

        /*
        let dx={name:"ben",age:18};//以前的写法
        let {name,age}={name:"ben",age:18};//解构赋值写法
        console.log(name,age);//ben 18*/
        let {age,name}={name:"ben",age:18};
        console.log(name,age);//ben 18 即使改了顺序,但对应的值还是没变

通过解构赋值传参

let dx={name:"ben",age:18};
        /*
        function getName(obj){
            return obj.name;
        }*/
        //解构赋值写法
        function getName({name}){//对象的name属性
            return name;//只关注name,不用管其他的东西
        }
        let result = getName(dx);
        console.log(result);//ben
posted @ 2022-10-26 10:37  ben10044  阅读(80)  评论(0编辑  收藏  举报