Javascript 箭头函数简述

ES6 引入箭头函数有三大好处,首先,一个简洁的语法;第二,隐式return,能写成一行;第三,当你执行点击操作的语句不用在一个函数内部了。

访问ES6.io那里有大量的例子可以看一看。

对一个数据添加名称:

const names = ['Wes', 'Kait','Lux'];

我们想添加Bos 到每个数组值的后面。

通常我们会这样做:

const fullNames = names.map(function(name){
   return `${name} Bos`;  
});
console.log(fullNames); // Wes Bos, Kait Bos, Lux Bos

我们在这里用了引号,这是字符串模板,你不用担心后续的章节会介绍。

我们看到names数组的每一项添加了Bos 组成了fullNames  

 Wes Bos, Kait Bos, Lux Bos

接下来看看箭头函数如何重写此句。

 

把它转换为箭头函数


一个箭头函数就是简单的去掉function,并添加  =>这个字符的东东了。

const fullNames = names.map((name) => {
   return `${name} Bos`; 
});

console.log(fullNames);

 你可能在其他语言中看到类似的箭头函数,不过在js中是第一次。

用console.log来看一下结果没有任何不同。

 

可以把单个形参括号去除

如果只有一个形参你可以这样写

const fullName3 = names.map(name => {
   return `${name} Bos`;
});

console.log(fullName3); // Wes Bos, Kait Bos, Lux Bos

语法更加精炼短小

 

箭头函数隐式返回

 

那什么是隐式返回呢?

就是没有return 关键字

我们用一行语句写就像下面

const fullNames4 = names.map(name => `${name} bos`);
console.log(fullNames4);   // Wes Bos, Kait Bos, Lux Bos

那我是如何做到的呢?

(1)去掉return

(2)把语句写到一行中

(3)删除{}

当你删除{},这就将 `${name} bos` 作为返回值了。

用console.log再来看一下结果没有任何不同。

 

 

 

 

如果您觉得本文不错,想要给熊二(李明)打赏?

 http://wesbos.com/arrow-functions/
posted @ 2016-09-09 17:41  熊二(李明)  阅读(325)  评论(0编辑  收藏  举报