- 块作用域 let和const有关
- let 关键字(只在{}作用域内有用)
- const 关键字(常量也用于块即作用符 对数值参数进行固定,不允许修改,用于从语法层面避免被错误的篡改)
- 解构赋值
- 数组元素解析
//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 生成器
网友评论