ECMAScript 规范 js实现的
一.let和var
var a='hello'
let b='hi'
1.不存在变量提升;
console.log(c); --undefine
var c='c';
预解析,
console.log(c); --会报错,未初始化
let c='c';
不存在预解析,
2.同一作用域下不能重复定义同一名称;
var d=1;
var d=100;
console.log(d);--100
let d=1;
let d=100;
console.log(d); --error
3.有着严格的作用域
var属于函数作用域,let属于块级作用域
二、const
声明一个只读的常量,一旦声明,常量的值就不能改变,一般用作全局变量,一定要初始化,不能只声明不初始化;
三.箭头函数(变量名=参数=>返回值)
简化了函数的定义
ES6:
let f=v=>v;//变量名=参数=>返回值
f(10) //10
ES5:
var f=function(v){
return v;
}
三.set数据类型
set 类似于数组 成员是唯一的,不会存在重复的元素,可以用来去重
map 类似于对象
const s=new Set();
s.add(1).add(2).add(3);
扩展运算符 var arr3=[...new Set(arr2)];//set转换为数组
四、map数据类型
键值对存在
for of 循环