es6新特性

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

你可能感兴趣的:(es6新特性)