箭头函数的声明
// ES5 声明函数的写法
var sum = function(a, b) {
return a + b;
}
ES6 箭头函数声明注意事项:
- 如果箭头函数不需要参数 或者 需要多个参数,就要使用圆括号代表参数部分
- 如果箭头函数有且仅有一个参数,可以省略圆括号
- 如果箭头函数的代码块部分多于一条语句,就要使用大括号将它们括起来,并且使用return 语句返回
- 由于大括号被解释为代码块,所以如果箭头函数直接返回一个对象,必须在对象外面加上括号。
// ES6 函数写法
// 如果箭头函数不需要参数 或者 需要多个参数,就要使用圆括号代表参数部分
const f = () => 5;
const sum = (a, b) => { return a + b }
// 如果箭头函数有且仅有一个参数,可以省略圆括号
const print = name => console.log(name);
// 如果箭头函数的代码块部分多于一条语句,就要使用大括号将它们括起来,并且使用return 语句返回。
const sum2 = (num1, num2) => { return num1 + num2; }
//由于大括号被解释为代码块,所以如果箭头函数直接返回一个对象,必须在对象外面加上括号。
var getTempItem = id => ({ id: id, name: "Temp" });
箭头函数和普通函数的区别:
- 箭头函数没有 this, 函数内部的this 来自于父级最近的非箭头函数, 并且不能改变 this 的指向。(还有一种描述:函数体内的this对象,绑定定义时所在的对象,而不是使用时所在的对象。
) - 箭头函数没有 super
- 箭头函数没有 arguments
- 箭头函数没有 new.targert 绑定
- 不可以当作构造函数,也就是说,不可以使用 new命令,会报错
- 没有原型
- 不支持重复的命名
网友评论