ES6中新增的定义函数的方法。
() => {}
箭头函数的特殊点
- 箭头函数不能作为构造函数
let Person = () => {
this.name;
this.age;
}
var p = new Person(); //报错: Person is not a constructor
console.log(p);
- 箭头函数没有this对象,在箭头函数中的this指的函数外层的对象
<button>btn</button>
<script>
btn.onclick = () => {
alert(this.innerText); //弹出undefined,因为this指向window,而window没有innerText属性
}
</script>
- 箭头函数没有arguments,要使用可变参数可以使用 rest 方式
let show = () => {
console.log(arguments); //报错: arguments is not defined
}
show(1,2,3);
- 如果函数体只有一句并且设置了返回值,则不需要使用大括号,不需要return
let add = (x = 1, y = 2) => x + y;
console.log(add(10, 20));
console.log(add());
- 如果函数中只有一个参数,则不需要写小括号
let add = x => x + 5;
console.log(add(3));