箭头函数提供了更简洁和更短的语法,其中一个可用功能是可以将函数编写为具有隐式返回值的lambda表达式。这对于功能样式代码很方便,比如使用函数映射数组:

const numbers = [1,2,3,4];
numbers.map(n => n * n);

这个箭头函数将按照预期的方式工作,它将值自身相乘并返回到包含的新数组[1, 4, 9, 16]

但是,如果你尝试映射到对象,例如,假设将数字映射到包含如下值的对象数组:

const numbers = [1,2,3,4];
numbers.map(n => {value:n});

这里的结果实际上是一个包含未定义值的数组。虽然看起来我们在这里返回一个对象,但是解释器看到了完全不同的东西。如果我们将上面的箭头函数推断为解释器,实际上最终执行的内容像这样:

numbers.map(function(n){
value:
n
return;
});

解决方法就是将对象包装在括号中,将其转换为表达式而不是块语句

numbers.map(n =>({value:n}));

最新文章

  1. Python 基礎 - 字符串常用操作
  2. 使用xib需要记得的小问题
  3. Android studio关于真机调试DDMS中的data文件夹打不开的解决方法
  4. Python的16个“坑”
  5. iOS-音频格式转换-b
  6. 转:maven项目添加jar包.
  7. 在OC中调用Swift类中定义delegate出现:Property 'delegate' not found on object of type ...
  8. Model注解的后台原理
  9. ARM和x86的区别
  10. 跨语言学习的基本思路及python的基础学习
  11. FastDFS与Nginx的配置说明
  12. [leetcode]经典算法题- String to Integer (atoi)
  13. MT【256】2016四川高考解答压轴题
  14. HDU 6319 Problem A. Ascending Rating(单调队列)
  15. SNF快速开发平台3.0之-界面个性化配置+10种皮肤+7种菜单-Asp.net+MVC4.0+WebAPI+EasyUI+Knockout
  16. js的let语句在安卓手机端的QQ浏览器出错的问题
  17. Hibernate Validator bean-validator-3.0-JBoss-4.0.2
  18. 【微信小程序】转载:微信小程序之购物车功能
  19. .Net 程序员面试 C# 语言篇 (回答Scott Hanselman的问题)
  20. tensorflow conv2d的padding解释以及参数解释

热门文章

  1. Java笔记——方法
  2. Django基础-002 Models的属性与字段
  3. 必须要了解的Linux基本操作
  4. 使用vlookup的模糊匹配和字符串拼接
  5. 将已经基本完成的项目推送到gitee上管理
  6. JAVA基础(代码)练习题61~90
  7. 每天五分钟Go - 常量
  8. AntDesignBlazor 学习笔记
  9. odoo中接口开发
  10. 第十七篇 -- QTreeWidget与QDockWidget