ECMAscript6学习笔记

1、var声明就有变量提升能力,let更适合局部。使用let声明,形成封闭作用域,let声明之前使用区域形成临时死区。
        var可以声明两个同名变量,后取前,let不能声明两个同名变量。
  2、const声明,与let基本一样,声明后必须立即赋值。
  3、全局作用域:直接使用的全局变量如name,其实是window的内置属性。var设置的全局变量,等于window的内置属性。
  4、块级作用域:在块级作用域生命的函数,外部也可以访问。加入let后则不能访问。
  5、数组的解构
        数组解构赋值:2种写法:                                                                                                           (1)、分行解构 :let info=["小明",100,"男"];let [name,age,gender]=info;                      console.log(name);console.log(age);console.log(gender)
 (2)、单行解构  let [name,age,gender] = ["小明",100,"男"];必须一一完美匹配才能正确。没有变量的时候可以用逗号做占位符不去赋值。
        后面的值不需要变量,可以:let [name,...other] = ["小明",100,"男"];
  6、对象的解构:(1)定义一个对象字面量,然后解构赋值。
        let obj = {
        name:“Mr.Lee”,
        age:100,
        };
        let{name,age}=obj;
        不想用变量名进行解构,可以加键值对。
        let obj = { name:“Mr.Lee”, age:100};
        let {name:myName,age:myAge,gender=“男”} = obj;
        console.log(myName)
        (2) 在对象字面量里,还嵌套了对象,解构时也用同样的方法解开即可。
        单行解构: let {name,age} = {name:"Mr.Lee",age:100};
        7、其他常用的解构:
         如果想让普通变量的值进行交换,不必第三个变量的参与;
         let key = 1, value = “Mr.Lee"; //交换 [key,value]= [value,key];
        函数返回值解构:
           function fn(){
                return ["Mr.Lee",100,”男“];
           }
           let [name, age ,gender]=fn();
           console.log(name);
           let [x,y,z] = "ABC"; console.log(y);
           
           8、函数的参数
           function fn(name,
                       age:number=100,
                       arr:*[]=[],
                       obj:()={},
                       callback=function(){}){
           }
             fn();
             函数的默认值也可以是另一个函数的返回值。
             
            9、箭头函数  箭头扩展和尾调用(递归函数)
            字符串的扩展改进:
            ${name} 变量  今年${age}岁。  正则
            
            数组的扩展改进(...)将数组转换为逗号隔开的数值  ...[10,20]
            
            array.from()方法,将类似数组的对象和遍历转化为真正的数组。
            let obj = {
              0:“name”,
              1:“age”
              2:“gender”
              length:3
              }
              array.from(obj)
            
            find()和findIndex()方法,用于查找数组中第一个匹配的值
            let items=[10,20,30,40,50]; console.log(items.find(value=>value>19));会返回20.
                        let items=[10,20,30,40,50]; console.log(items.findIndex(value=>value>19));会返回1.
                        
            ES6提供的fill()方法,可以填充重写数组中的元素值;
            let items=[1,2,3,4,5];
            items.fill("a")
            console.log(items) //["a","a","a","a","a"]
            items.fill("a",2,3) //[1,2,"a",4,5]
            
            对象的简写改进
            对象的新增方法:
            symbol类型: let s = Symbol();console.log(s)
            Set数据集合                                                                                                                    16、ES6之前只有数组一种数据结构,而现在提供了Set和Map两种集合。Set集合是一种无重复元素的列表,使用new Set()方法创建Set集合;
            let set = new Set();set.add(1),set.add(2)或者let set = new Set([1,2,3])  set.has(2)//true
            删除操作:set.delete(2)
            想将Set集合转换为数组的方法:
            let arr = [...set];
            我们可以使用for或者forEach来遍历Set集合:
            let set = new Set([1,2,3,4,5,6])
            for (let i of set){
            console.log(i);
            }
            或者 set.forEach(function(key,value,set){})
            

17、Map数据集合:以键值对存储
            map.set("name","Mr.Lee"); map.set("age",100);
            
            迭代器和生成器:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值