ECMAScript ES 标准规范
ES6 第6套标准规范
1、块级作用域
let 声明的变量,不存在变量提升,不允许重复声明
所有{ }之间的语句块都是在块级作用域下,里边用let、const声明的是局部的,不允许被外部访问
var、let、const三者的区别? 1、var声明的变量,存在变量提升,允许重复声明,只有在函数内声明才是局部变量,不存在块级作用域 2、let声明的变量,不存在变量提升,不允许重复声明 3、const声明的常量,声明后必须赋值,不允许重新赋值 4、let、const在函数中和块级作用域下都是局部的,存在块级作用域 5、let、const在全局作用域下声明的也不是全局的 6、var在全局作用域声明的是全局变量 |
2、参数增强
可以给参数设置默认值
function add( a,b,c=0 ){ //c如果不提供实参,就会使用默认值0 b = b || 0; //ES6之前设置默认值的方式 } add(8000,2000); |
3、箭头函数
简化了匿名函数的写法,不等价于匿名函数
function (){ } ----> ()=>{ }
arr.sort( (a,b)=>{ return a-b; }); |
如果箭头函数的函数体只有一行代码,并且是return形式,可以简化{}:
sort( (a,b)=>a-b );
4、模板字符串
简化了字符串拼接问题
``之间的字符串就是模板字符串 ${ JS表达式 }