es6新特性
1.函數(shù)參數(shù)添加默認(rèn)值
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.解構(gòu)賦值
這個(gè)特性我感覺(jué)真的很方便
es6之前
var data = value.data();
var info = data.info();
var element = data.element();
es6之后
const { info ={},element = {} } = data;
4.箭頭函數(shù)
這個(gè)是一個(gè)比較復(fù)雜的功能,擴(kuò)展性很強(qiáng)
es6之前:
function f() {
.....
}
es6之后:
var f = () => {
......
}
5.let 和const
在ves6之前,什么東西都可以var一個(gè),var就是萬(wàn)能法寶,es6添加了const表示不可變對(duì)象,let表示臨時(shí)變量
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之前只有函數(shù),沒(méi)有類的感念
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對(duì)象屬性簡(jiǎn)寫(xiě)
在es6之前,對(duì)象的賦值必須是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