es6新常用语法总结

1.Object[key]

这一语法主要是为了创建对象时,能够用其他的变量作为属性值。

var str="name";
var obj={
    [str]: 'jc',
    num: 1
};

2.箭头函数

箭头函数其实就是其他语言中已有的lamda表达式,但它是可以在函数定义的时候就绑定其this,可以用于返回一个已经绑定this的函数。

var student={
    name: 'jc',
    createPrint: function(){
        return ()=>console.log(this.name);
    }
};
var blue=student.createPrint();
blue();   //jc

3.Array.prototype.find/findIndex方法

可以按条件搜索的方式来查找数组中第一个满足条件的元素。

var array=[2,3,4,5];
console.log(array.find(a=>a>=3));   //3

4.展开运算符

  • 将数组或可迭代对象拆分为单个的参数:
//es5
var yuan=[3,4,5];
console.log(Math.min.apply(Math,yuan));
//es6
console.log(Math.min(...yuan));
  • 将可迭代对象转化为数组:
    var array=[...document.querySelectorAll('div')];

5.字符串模板语法

  • 优雅地在字符串中插入变量
var red={x:1,y:2};
console.log(`I am ${red.x+red.y}`);
  • 书写多行文本
console.log(`this is a 
    theme`);

6.函数默认参数

可以给函数设置默认参数,包括回调函数参数,可以以优雅的方式传入回调函数。

//es5
function curry1(callback){
    if(typeof callback === 'function'){
        callback();
    }
}
//es6
function curry2(callback=function(){}){
    callback();
}

7.对象解构赋值中的const

设置对象解构赋值为const,则每个新的变量都为const,不可以改变其值,如果为对象,则不可改变其引用,这一点要小心处理

const {num}=this.state;
num++;   //error

你可能感兴趣的:(es6新常用语法总结)