初学ES6认识

ECMAScript

1.ES和js的关系:ES是JavaScript的标准,JavaScript是ES的实现。

ES6的拓展

let和const
2:let是ES6新增的一个用来定义变量的关键字。
let和var的区别:
(1)var有变量提升,let没有变量提升,先声明再使用
(2)var允许变量重复定义,let就不允许
(3)var定义的变量属于函数作用域,let定义的变量属于块作用域。
(4)let定义的变量有暂时性死区,var没有

应用: let和for循环

        for (let i = 0; i < lis.length; i++) {
            lis[i].onclick = function () {
                alert(i);
            }
        }
   //上面代码可以拆分为如下:   
   //系统每一次都会产生一个新的变量,来保存上一次变量的值,并且赋值给下一次的循环     
   //   {            let i = 0;            // let temp;            {                lis[0].onclick = function () {                    alert(i)                }                // i++;                temp = ++i;            }            {                // let i = 1;                i = temp;                lis[1].onclick = function () {                    alert(i)                }                temp = ++i;            }            {                // let i = 2;                i = temp;                lis[2].onclick = function () {                    alert(i)                }                temp = ++i;            }            {                let i = temp;                lis[3].onclick = function () {                    alert(i)                }                temp = ++i;            }        }

2 const
它是使用来定义常量,let所拥有的特点,const都有
特点:不允许被重新赋值,常量必须在定义的时候,就初始化(赋值);建议:const定义的常量的名称,一般为大写;用途:用于定义项目中的公共内容,变量。
3 ES6中数组的解构
数组特点是有序的哈希解构

  let arr=[1,2,3];//模式一致
  let [a,b,c]=arr//按顺序解构
  //console.log(a,b,c)

分析:因为有序,在解析数据的时候,按照顺序解析和赋值所以有常见的解构:
1 完全解构
2 不完全结构
3 解构失败
4 结构变量赋值
5 解构的缺省

       //1.完全解构(变量的个数与数据个数一致)
        // let [a, b] = [10, 20];

        // console.log(a, b);

        //2.不完全解构(变量的个数少于数据的个数)
        // let [a] = [10, 20];
        // console.log(a);

        //3.解构失败(变量的个数多于数据的个数)
        let [a, b, c] = [10, 20]
        console.log(a, b, c);

		//4.解构的默认值
        let [a=0, b=0, c = 0] = [10, 20];//c默认值为0
        // let [a, b, c = 0] = [10, 20,30]
        console.log(a, b, c);

        //5.解构的缺省
        let [, , , b] = [10, 20, 30, 40];

3 对象的解构
对象是无序的哈希结构,对象的解构需要借助属性名来做
语法:let {属性名1:变量,属性名2:变量}=对象;
常见的情况:
完全解构,
不完全解构
解构失败
解构默认值
示例:`
//1.完全解构(变量个数与对象的属性个数一致)
// let { code: a, msg: b, data: c } = obj;
// console.log(a, b, c);

    //2.不完全解构
    // let { data: rst } = obj;
    // console.log(rst);

    //3.解构失败
    // let { code: a, msg: b, data: c, info: d } = obj;
    // console.log(d);

    //4.解构默认值
    let { code: a, msg: b, data: c = [], info: d = '' } = obj;
    console.log(d);//''
    console.log(c);
`

-注意:若对象的属性名和变量保持一致,则可以简化对象的解构写法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值