JS/ES6/箭头函数的用法
箭头函数使用是比较方便简洁的,在普通函数里面我们通常返回一个值时是需要return回去的,但在箭头函数里面已经包含着这个return所以我们不用编写return。
let a = 3;
function arrow(a){
return a * 2
}
arrow(a)
我们可以简写成:
let a = 3;
let arrow = (a) => a * 2;
arrow(a)
箭头函数并没有自己的this、arguments、spuer或new.target的。
- 在箭头函数之前如果这个函数是构造函数,那么这个this指向是一个新的对象;
- 严格模式下函数的this指向是undefind;
- 如果该函数是一个对象的方法,那么this的指针指向是这个对象;
- 箭头函数是不会创建自己的this,它只会在作用域链的上一层继承this;
function Arrow(){
this.all = 0;
setInterval( () => {
this.all++;
}, 1000)
}
let p = new arrow();
适用于匿名函数,不能用于构造函数,和new一起用会抛出错误。
var arrow = () => {};
var arrow = new Arrow(); // TypeError: Foo is not a constructor
箭头函数没有prototype属性。
let arrow = () => {};
console.log(arrow.prototype) //undefined

浙公网安备 33010602011771号