es6--箭头函数
2021-06-09 本文已影响0人
lvyweb
概念:使用=>来定义,function(){}
等于()=>{}
- es6的箭头函数是没有this指向,箭头函数内部this只能通过查找作用域链来确定,一旦使用箭头函数,当前不存在作用域
- es6中函数的this取决于调用该函数的上下文对象
使用箭头函数的注意事项:
- 1 . 使用箭头函数,函数内部没有arguments
let getVal =(a,b)=>{
console.log(arguments);
return a+b;
}
console.log(getVal(1,3))// Uncaught ReferenceError: arguments is not defined
- 2 . 箭头函数不能使用new关键字来实例化对象
let Person = () =>{
}
console.log(Person);
let p = new Person()//Uncaught TypeError: Person is not a constructor
- function声明的函数是一个对象,但是箭头函数不是一个对象,它其实就是一个函数语法糖
例子讲解箭头函数
let add = function(a,b){
return a+b;
}
console.log(add(10,20));//30
//箭头函数写法
let add = (a,b)=>{
return a+b;
}
//如果仅有一个参数,可以这样写
let add = val =>{
return val + 5;
}
console.log(add(10));//15
//还可以更简便
let add = val =>(val+5);
console.log(add(10));//15
//这样
let add = (val1,val2) => val1 + val2;
console.log(add(10,20));//30
// 如果没有参数
let fn = ()=>'hello world';
console.log(fn())//hello world