ES6_使用箭头函数编写简洁的函数

ES5(JS)中定义匿名函数:

const myFunc = function() {
  const myVar = "value";
  return myVar;
}

ES6中定义匿名函数:

const myFunc = () => {
  const myVar = "value";
  return myVar;
}

当没有函数体,只有返回值时,箭头函数语法允许您省略关键字return以及围绕代码的括号。这有助于将较小的函数简化为一行语句:

const myFunc = () => "value";

默认情况下,此行代码仍将返回字符串值value。

 

再来对比一下:

var magic = function() {
  return new Date();
};
//测试:
console.log(magic());//Mon Sep 12 2022 20:47:51 GMT+0800 (中国标准时间)

ES6中可简化为一行语句:

const magic =()=> new Date();
//测试:
console.log(magic());//Mon Sep 12 2022 20:47:51 GMT+0800 (中国标准时间)

有参数的情况——

当函数只有一个参数时,可以省略小括号:

const doubler = item => item * 2;

//调用:
doubler(4); //8

当函数有多个参数时,不能省略小括号:

const multiplier = (item, multi) => item * multi;

//调用:
multiplier(4, 2); //8

例:

/*
const myConcat = function(arr1, arr2) {
  return arr1.concat(arr2);
};
*/

//使用以下箭头函数简化以上代码:
const myConcat=(arr1,arr2)=>arr1.concat(arr2);//这里省略了{}和return关键字。
/*可以在=>后面加上{},但其中一定要加上return关键字(如下所示),否则会出错。
const myConcat=(arr1,arr2)=>{return arr1.concat(arr2)};
//也可以在=>后面加上(),得到的结果也是一样的:
const myConcat=(arr1,arr2)=>(arr1.concat(arr2));
*/
//测试:
console.log(myConcat([1, 2], [3, 4, 5])); //[ 1, 2, 3, 4, 5 ]

 

posted @ 2022-09-12 20:52  枭二熊  阅读(57)  评论(0编辑  收藏  举报