ES6入门读书笔记二

ES6入门读书笔记二

  • 解构赋值

解构赋值,我自己的理解就是把等式右边对应位置上的值赋值给左边位置上对应位置的变量
,但是注意右边一定要是一个对象,非对象类型如 null undefined等会报错,
同时想那些基本数据类型的也会报错,报不能迭代的错误。

    //数组的解构赋值
    let arr=[10,12,13];
    let [a,b,c]=arr;
    console.log(a);
    console.log(b);
    console.log(c);
    //如果参数不一致
    let [d,e,f,g]=[1,2,3];
    console.log(d,e,f,g);//g没有,返回undefined
    let [test1,test2]=[1,2,3]
    console.log(test1,test2);//1 2
    //特殊情况测试
    let[test]=[]
    console.log(test);//undefined
    // let [test3]=null//报错,不是一个对象
    // console.log(test3);
    // let [test4]=undefined
    // console.log(test4);//报错,undefined不是一个对象
    /*let [fa]=NaN
    console.log(fa);// NaN is not iterable*/
    //参数展开(最后一个参数必须包含在参数展开式当中)
    let [sam,...tom]=[1,22,25,23,21]
    console.log(sam);
    console.log(...tom);
    let {aa,bb}={aa:1,bb:2}
    console.log(aa, bb);
    //如果没有返回undefined
  • 模板字符串

我的理解在一对``里面,用${}的形式,将变量放到这对花括号里面

    let sam="xu";
    console.log(`你好呀,${sam}!`);
  • 箭头函数

和以前的函数基本大概差不多,在形式上简写了很多东西

 /*   function add(a,b) {
        return a+b;
    }
    console.log(add(45, 55));//100*/
 add=(a,b)=>a+b;
 console.log(add(33,22));
 test=v=>v
 console.log(test(3));
 show=()=>({a:2,b:3})//这里面简写的话,必须带上一个括号
 console.log(show());
 //有一个参数,或者return一条语句的时候,可以进行简写

箭头函数this指向的问题

/*    //箭头函数里面的this绑定的是定义所在的对象,而不是使用所在的对象
    let test={
        a:15,
        b:17,
        show:function () {
            console.log(this);//普通函数,this指向test
            console.log(this.a + this.b);
        }
    }
    // test.show();
    //普通函数的this会改变
    document.οnclick=test.show//这时候指向的就是document*/
let test={
    a:15,
    b:17,
    show:()=>{
        console.log(this);//普通函数,this指向test
    }
}
document.onclick=test.show
//换成箭头函数后,this指向不变,就是test这个对象所定义的环境,也就是window,而不是刚才使用的环境document
    //他是不变的

箭头函数不能动态创建(使用new)
箭头函数没有arguments对象

  • map set reduce filter foreach
/*    let x=new Map();
    a={b:"hello"}//a是一个对象,也可以作为一个键
    x.set(a,"你好")
    console.log(x.get(a));*/
    //采用new方法创建的对象是两个在不同内存当中的对象
    let y=new Map()
    y.set({a:4},11)
    console.log(y.get({a: 4}));//返回undefined
    //遍历
    let arr=[14,15,64,62,31]
    let ans=arr.map((item)=>item>20)
    console.log(ans);
    //reduce 累加器
  arr.reduce((tmp,item,index)=>{
      console.log(`第${index}次:${tmp }+${item}`);
      return tmp+item;
  })
    //filter
    console.log(arr.filter((item) => item & 1));
    //set
    arr.forEach((item,index)=>{
        console.log(`第${index}元素是${item}`);
    })
    let s=new Set([1,2,3])//传入一个数组
    s.add(1)
    console.log(s);
    s.has(1)
    console.log(s.has(1));

说明:重要的必须要掌握的知识需要掌握,一些不重要的需要在工作中,再行查阅。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值