ES6规范及语法基础
var的特点
- 函数作用域
let的特点
- 没有变量提升,必须先声明。再调用
- 同一个作用域下不可以重复定义同一个名称
- 块级作用域
function fun(){ let a = 10 if(true){ let a =100 } console.log(a) }
输出a为10,因为let为块级作用域。
暂时性死区 let a = b, b = 1
const的特点 (数组和对象指向的是内存,对应的值可修改)
- 没有变量提升,必须先声明。再调用
- 同一个作用域下不可以重复定义同一个名称
- 块级作用域
- 声明之后就得初始化,不能只声明不赋值
- 声明的为只读常量,不能改变
箭头函数
简化了函数的定义
var f = v =>v; //箭头函数后的值为return值
等同于 var f = function(){ return v }
Set 去重
const a = new Set();
添加
a.add(1)
链式添加:a.add(1).add(2)......
类型转换
将set转为数组
- var a = Array.from(a)
- […new Set([1,2,3,42,2,1,2])] //…为扩展运算符。var a = [1,2,3] ; var b = …a 值为 1,2,3 去掉了括号
map
const m = new Map();
添加数据
m.set('id',1).set('name','test') 添加时为键值对添加 键可以为任何类型
循环 for of
for( let [k,v] of m){
.......
}
版权声明:本文为yinxin原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。