ECMAScript6底箭头函数

2015年6月17日,ECMAScript 6颁发正式版本,即ECMAScript 2015

函数作为js语言中之同等顶平民。自然Es6蒙受产的箭头函数(=>)也是备受瞩目的。那咱们接下看下传说着的“箭头函数”和function函数有什么两样吧~

1.this之对准,函数内置 this
的价值,取决于箭头函数定义的上下文环境,而无箭头函数执行的上下文环境。

2.this不可变,差于function函数的对(点自己);
箭头函数的this的对是稳步的,可以掌握呢常量一样。

3.尚未arguments对象。只能通过rest语法进行传值。

4.new 免能够就此,箭头函数不能够动用 new 关键字实例化对象,不然会出报错。

箭头ECMAScript函数写法:

<script>
    //普通函数写法
    function fn(){
        console.log(this)
    }
    //箭头函数写法
    let fn1=()=>console.log(this)
</script>

箭头函数传参

let fn = (...arg) => {
     //console.log(arguments); // 实参的集合,类数组
        console.log(arg);
}
fn(1,2,3,4)//console.log(arg) 1,2,3,4

箭头函数this的针对

<script>
    function fn(){
        console.log(this)//指向 对象obj
    }
let fn1=()=>console.log(this) //指向window
    let obj ={
        fn,
        fn1
    }
    obj.fn() //普通函数通过对象调用 指向对象
    obj.fn1()//箭头函数不论怎么调用this就是指向定义时上下文的this
</script>