ECMAScript6 学习笔记

精华

1、字符串笔记:反单引号

  `abc${变量名}ef`

2、解构赋值:

  解构赋值给默认值:
  var json={};
  var a=json.a || 12 //如果a为空,给a初始值12
  语法:var {time=12,id=0}={}//time为空时,给time12

3、复制数组

 复制数组:
 1、循环
 2、Array.from(arr)
 3、var arr2=[...arr]
 ...实参:
 function show(...args){args.push(5);
 console.log(args)};

4、循环

  var arr=['apple','banana','orange','pear'];
  for(var i in arr){//0 1 2 3 索引
  console.log(i);
  }
  for(var i of arr){//apple banana orange pear
  console.log(i)
  }
for of 可以循环数组,不能循环json 真正的目的为了循环 map对象
  Map对象:和json相似,也是一种key-value形式
  var map =new Map();
  设置:map.set(name,value);map.set('a','apple')
  获取:map.get(name) //不能 map.a
  删除:map.delete(name)//不能json中的用法delete json.a
  遍历map:
  不能使用for in ,没有效果
  for(var name of map){
      console.log(name);//a,apple b,banana
  }
  for(var[key,value]of map.entries()){
      console.log(key,value);//key value
  }
   for(var key of map.keys()){//只循环key
      console.log(key);//key 
  }
   for(var val of map.values){
      console.log(val);//value
  }
  for of 也可以循环数组:
  只循环值:
        for(var value of arr)
  只循环索引:
        for(var key of arr.keys()){}
  索引和值都循环:
        for(var some of arr.entries()){}
5、箭头函数
  注意:this问题,this指向了window
  arguments,不能使用了
6、单题模式:
    以前的写法:
    var person={
    name:'abc',
    age:16,
    showName:function(){
         alert(this.name);
    }
    showAge:function(){
         alert(this.age)
    }
    }
    person.showName();

    ES6新的写法:
    var age=101;
    var person={
       name,
       age,
       showName(){
          return this.name;
       }
       showAge(){
          return this age;
       }
    }
7、面向对象
   class Person{
      constructor(name='default',age=0){
          this.name=name;
          this.age=age;
      }
      showName(){
          reture this.name;
      }
      showAge(){
          reture this.age;
      }
   }
   var P1=Person();
   继承:
   clas Worker extends Pesson{

   }

猜你喜欢

转载自blog.csdn.net/sinat_29729453/article/details/77622390
今日推荐