- 常量
// ES5定义只读变量
Object.defineProperty(window,'PI3',{
writable: false,
value: "3.14159"
})
// ES6定义制度变量
const PI2 = '3.14159'
- 作用域
ES3、5用立即执行函数控制作用域
ES6用关键字语法let const形成块级作用域 - 箭头函数
主要改变this指向 - 默认参数
可接收函数传值
比如控制必传参数
arguments 是伪数组
通过Array.prototype.slice.call(arguments)把arguments转换为数组来使用
// 利用扩展运算符接收多个参数
function getMultipleParams(...a){}
getMultipleParams(1,2,3);
//利用扩展运算符合并数组
var params = ['hello',true,7];
var other = [1,2,...params];
console.log(other); //[1,2,'hello',true,7]
- 对象代理
通过中间层代理,不会影响原始数据
let Person = {
name: 'es6',
sex: 'male',
age: 15
};
let person = new Proxy(Person,{
get(target,key){
return target[key];
},
set(target,key,value){
if(key!=='sex'){
target[key]=value;
}
}
})
其他语法
- 解构赋值
- 模板字符串
- 正则扩展
- 数字扩展
- 函数扩展
- class
- Module
- Symbol
- 对象扩展
- Set Map
- Iterator
- Generator
网友评论