ES6-箭头函数

ES6-箭头函数

基本用法
1.var func=v=>v

var f=v=>v
//等同于:
var f=function(v){
	return v;
}

2.var func=()=>v

var f=()=>5;
//等同于:
var f=function(){
	return 5;
}

3.var func=(num1,num2)=>um1+num2

var sum=(num1,num2)=>um1+num2;
//等同于:
var sum=function(num1,num2){
	return num1+num2;
}

总结:
1.箭头函数不需要参数或者需要多个参数,就使用圆括号代表参数部分;
2.如果箭头函数的代码块部分多于一条语句,就要使用大括号将其括起来,并使用return语句返回;
3.箭头函数可以与变量解构结合使用:
const full=({first,last})=>first+’ '+last;

注意事项
1.函数体内的this对象就是定义时所在的对象,而不是使用时所在的对象,即箭头函数中this的指向是固定的;
2.不可以当做构造函数;
3.不可以使用arguments对象,该对象在函数体内不存在,可以用rest代替;
4.不可以使用yield命令,因此箭头函数不能作为Generator函数。

嵌套的箭头函数

    let insert = (value) => ({
        into: (array) => ({
            after: (afterValue) => {
                array.splice(array.indexOf(afterValue) + 1, 0, value);
                return array;
            }
        })
    });
    insert(2).into([1, 3]).after(1);//[1,2,3]

绑定this
ES7提出了“函数绑定”运算符,用来取代call、apply、bind调用。Babel转码器已经支持
函数绑定运算符:双冒号(::)
双冒号左边是一个对象,右边是一个函数。该运算符会自动将左边的对象作为this对象绑定到右边的函数上
例如

foo::bar;
//等同于
bar.bind(foo);

foo::bar(...arguments);
//等同于
bar.apply(...arguments);

*双冒号运算符返回的还是原来的对象,可以采用链式写法

let {find,html}=jake;
document.querySelectorAll('div.myClass')
::find('p')
::html('hahhhahah');
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值