箭头函数是es6推出的更为简洁、方便的函数书写语法,通常用于创建无需复用的匿名函数的情况。
- 箭头函数书写形式
以前,我们写函数会这样:
const hello = function() {
const name = "Jsxj";
return name;
}
而有了es6的箭头函数后,可以这样写:
const hello = () => {
const name = "Jsxj";
return name;
}
如果函数内没有过多操作,只有简单的return
语句,那么箭头函数允许去除花括号和return
关键字:
const hello = () => "Jsxj"
函数变成简单的单行语句,它也会自动识别返回相应的内容。如果需要传递单个或多个参数,也是和以往一样:
const hello = (name) => "hi,"+name
- 书写高阶箭头函数
假如一个函数需要传递的参数是函数而不是变量,以前我们习惯:
var studentIds = students.map(function (student) {
return student.id
});
//或者
var studentIds = students.map(getId(student));
var getId = function(s){
return s.id
}
很麻烦也很难看,但箭头函数可以语句式完成整个高阶函数的编写:
var studentIds = students.map((student) => student.id);
- 函数传入默认参数
es6同意我们直接在函数内传递默认参数,来成就更加灵活:
function hello(name = "Jsxj") {
return "Hello " + name;
}
console.log(hello("Job")); // Hello Job
console.log(hello()); // Hello Jsxj