箭头函数

箭头函数的声明和调用

let fun=(a,b)=>{
      console.log(a,b)
};
fun(1,2)// 3

箭头函数的this指向是静态的,this的指向永远是声明时所在作用域下的this的值,它并没有自己的this

 window.name=`bawei`
function getName() {
    console.log(this.name)
}
let getName2=()=>{
    console.log(this.name)
}
 getName();  //bawei
getName2();  //bawei
let school={
    name3:'八维'
}
name.call(school) //八维
name2.call(school)  //bawei

不能作为构造实例化对象

let Person=(name,age)=>{
    this.name=name;
    this.age=age
};
let me=new Person('gg',12);
console.log(me). //报错

不能使用arguments对象

let fn=()=>{
    console.log(arguments);
}
fn();

箭头函数简写

1.当形参有且只有一个的时候(可以省略括号,不省略花括号一定要加return否则不加return)

let fn=a=>{
      return a
}
let. fn=a=>a

由于箭头函数的this指向永远指向声明时的作用域而且不会因为bind或者是call改变。 所以箭头函数的出现场景如下

1.箭头函数适用于与this无关的场景比如。定时器 、数组的方法回调(filter、every、some)。
2.箭头函数不适用与this有关的场景事件比如 事件回调、对象的方法(对象中声明的方法)。

你可能感兴趣的:(箭头函数)