es6新特性
1.函数参数添加默认值
es6之前
function f(width,hight){
if(width=== null){
.......
}
}
es6之后:
function f(width=50,heigh=100){
......
}
2.字符串拼接
es6之前:
var name = 'this is'+hello+''+last+''.
es6之后:
var name = 'this is ${hello}${last}'
3.解构赋值
这个特性我感觉真的很方便
es6之前
var data = value.data();
var info = data.info();
var element = data.element();
es6之后
const { info ={},element = {} } = data;
4.箭头函数
这个是一个比较复杂的功能,扩展性很强
es6之前:
function f() {
.....
}
es6之后:
var f = () => {
......
}
5.let 和const
在ves6之前,什么东西都可以var一个,var就是万能法宝,es6添加了const表示不可变对象,let表示临时变量
es6之前:
var obj = [1,2,3];
var x = 'a';
x = 10;
es6之后:
const s = { a: '1', b: '2' };
// error
s.a = 'x';
let o = 10;
6.类
在es6之前只有函数,没有类的感念
function point(x,y) {
this.x = x;
this.y = y;
this.add = function() {
return this.x +this.y;
}
}
var p = point(1,2);
p.add();
在es6之后:
class Point {
constructor(x,y){
this.x = x;
this.y = y;
}
add() {
return this.x+this.y;
}
}
let p = new Point(1,2);
p.add();
7对象属性简写
在es6之前,对象的赋值必须是key,value
var e = 'ex';
var foo = function() {
//...
}
var obj = {
e:e,
foo:foo
}
es6之后:
const e = 'ex';
const foo = function() {
//.....
}
var obj = {e,foo};
todo
module,promise