美文网首页
ES6新特性

ES6新特性

作者: jane819 | 来源:发表于2019-01-21 13:46 被阅读0次
  • 块作用域 let和const有关
    • let 关键字(只在{}作用域内有用)
    • const 关键字(常量也用于块即作用符 对数值参数进行固定,不允许修改,用于从语法层面避免被错误的篡改)
  • 解构赋值
    • 数组元素解析
    //var arr=[1,2,3];
    //var [a,,b]=arr;
    // console.log(a,b)
    //[b,a]=[a,b] //b=3,a=1 a=3,b=1
    //console.log(b,a)
    * 对象属性名称解析 
    

var obj= {
name:"huang",
age:26,
sex:"女"
}
var {name,age,sex}=obj;
console.log(name,age,sex)
```

  • 数组解析失败
     var arr=[2,5];
     var [a=1,b=3,c=6,d]=arr;
     console.log(a,b,c,d)
    
  • 模版字符串
    • 使用 `(左撇号)声明
    • 可当作普通字符串使用

in javascript '\n' is a line-feed
```

  • 也可来定义多行字符串

var str= my ...hha ...nihaoa
console.log(str)
```

  • 在字符串中可嵌入变量

var sex='女'
var str=你的姓名是:${sex}
console.log(str)
```

  • Symbol数据类型
    • 独一无二 跟任何都不相等
         // var s=Symbol('jane')
         // s.name;
         // console.log(typeof s)
         // console.log(s)
    
  • 增强的对象写法

var birth='1993/10/04';
var person={
name:"zhangsan",
birth,
hello(){
console.log('wo de ming zi shi',this.birth)
}
}
person.hello();

* 标准对象的扩展 
  ```
  // function person(obj){
  //     console.log('名字:'+obj.name)
  // }
  // person({
  //     name:'jane'
  // })
  ```
* 函数的扩展用法:箭头函数、箭头参数
* 箭头函数:
  ```
// let fun=(name)=>{
  //     console.log(name)
  // }
  // fun('jane')
  ```    

* 箭头参数:
  ```
// function fun(x,y,z=10){
  //     return x+y+z;
  // }
  // console.log(fun(3,0))
  ```
* 数组元素展开运算符
* set、map、weakset、weakmap
*set (集合)用来存储不同的值  let s=new Set()
    * .add() .size .has() . delete()
* map (映射)用来存储《key,value》映射关系《key,value》可以为任何类型
  ```
let m=new Map();
  m.set('name','jane');
  m.set('age',18);
  console.log(m.get('name'))
  //遍历
  for(let [key,val] of m.entries()){  //entries()方法返回一个数组的迭代对象
      console.log(key,val)
  }
  ```
* weakset 弱引用对象集合
* weakmap 该对象是key val 的集合
* class
* 
* promise 异步计算
* generator 生成器

相关文章

网友评论

      本文标题:ES6新特性

      本文链接:https://www.haomeiwen.com/subject/jfwgrqtx.html