js之箭头函数表达式


箭头函数表达式的语法比函数表达式更短,并且没有自己的this,arguments,super或 new.target。这些函数表达式更适用于那些本来需要匿名函数的地方,并且它们不能用作构造函数

语法

基础语法

(参数1, 参数2, …, 参数N) => { 函数声明 }
(参数1, 参数2, …, 参数N) => 表达式(单一)
//相当于:(参数1, 参数2, …, 参数N) =>{ return 表达式; } // 当只有一个参数时,圆括号是可选的:
(单一参数) => {函数声明}
单一参数 => {函数声明} // 没有参数的函数应该写成一对圆括号。
() => {函数声明}

高级语法


//加括号的函数体返回对象字面表达式:
参数=> ({foo: bar}) //支持剩余参数和默认参数
(参数1, 参数2, ...rest) => {函数声明}
(参数1 = 默认值1,参数2, …, 参数N = 默认值N) => {函数声明} //同样支持参数列表解构
let f = ([a, b] = [1, 2], {x: c} = {x: a + b}) => a + b + c;
f(); // 6

事例:

var materials = [
'Hydrogen',
'Helium',
'Lithium',
'Beryllium'
]; materials.map(function(material) {
return material.length;
}); // [8, 6, 7, 9] materials.map((material) => {
return material.length;
}); // [8, 6, 7, 9] materials.map(material => material.length); // [8, 6, 7, 9]

详情地址:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Arrow_functions


最新文章

  1. IntelliJ Idea 常用快捷键 列表
  2. CSS Reset
  3. long型转日期型
  4. JavaScript的一些认识
  5. mysql卸载注意事项
  6. C语言全局未初始化数据段分析
  7. [LeetCode OJ] Reorder List—Given a singly linked list L: L0→L1→…→Ln-1→Ln, reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→…
  8. PYTHON文件多线程下载
  9. gulp报错
  10. 数组的遍历你都会用了,那Promise版本的呢
  11. hadoop 笔记(hive)
  12. 设计模式—模板方法(template method)
  13. PHP-不同Str 拼接方法性能对比 参考自https://www.cnblogs.com/xiaoerli520/p/9624309.html
  14. Unity Shader 基础(4) 由深度纹理重建坐标
  15. STM32硬件IIC驱动设计(转)
  16. jquery photoClip支持手机端,PC端 本地裁剪图片后上传插件
  17. python基础初识介绍以及安装
  18. Windows2008R2系统运行时间超过497天的bug
  19. 功能测试-UI测试思考点
  20. 【Samza系列】实时计算Samza中文教程(一)背景

热门文章

  1. codeforces 1038a(找最长的前k个字母出现相同次数的字符串)
  2. 安装myeclipse-10.7.1及注册解码
  3. 浅谈C++三种传参方式
  4. SI24R2F新一代2.4G超低功耗单发射有源RFID芯片 SI24R2E升级版智能充电安全管理方案首选
  5. go 格式化输出
  6. MySQL入门,第八部分,多表查询(二)
  7. 汇编刷题:屏幕显示 HOW ARE YOU!
  8. System.out.println()的真实含义
  9. Golang中的Gosched、Goexit、GOMAXPROCS
  10. AJ学IOS(10)UI之_NSTimer_ios计时器