[JavaScript]ECMA-6 箭头函数
概述
箭头函数的作用是为Js提供一种函数的简写方法,箭头函数作用域内不包含this, arguments, super, or new.target,并且不能用于对象的构造函数;
基本语法
[(][params][)] => [(][{]statements[}][)]
- 参数:
参数可有可无,但是无参数的时候必须带括号
() => { statements }
支持Rest parameters 和 default parameters
(param1, param2, ...rest) => { statements }
(param1 = defaultValue1, param2, …, paramN = defaultValueN) => {
statements }
var f = ([a, b] = [1, 2], {x: c} = {x: a + b}) => a + b + c;
f(); //
- 表达式
表达式方面大致可分为两类;
一类是接圆括号的:
这类表达式只能编写一条语句,不支持分号,下面这个例子是错误的:
var f = () => (a = "1";b = "2";a+b);
同时元括号默认返回这个唯一语句执行后的值,并不需要带return关键值:
var f = () => (a = "abc";);
console.log(f());//abc var materials = [
'Hydrogen',
'Helium',
'Lithium',
'Beryllium'
];
console.log(materials.map(m => m.length));//8, 6, 7, 9 ({a, b, ...rest} = {a: 10, b: 20, c: 30, d: 40});
var f = () => (rest.d);
console.log(f());//40
因为只有一条表达式所以元括号也是可以省略的
var f = () => a = "abc";
console.log(f());//abc
第二类是接大括号的:
这一类跟圆括号的差异就是它可以支持多条表达式,但是需要返回值时,必须接return:
var f = () => {
        var a = 1;
        var b = 2;
        return a+b;
    }
console.log(f());//
结论
花式玩法:
var f = ({a, b, ...rest} = {a: 10, b: 20, c: 30, d: 40}) => ({a: a, b: b, rest: rest});
console.log(f());
Js语法确实是天马行空.
[JavaScript]ECMA-6 箭头函数的更多相关文章
- JavaScript 基础(七) 箭头函数    generator  Date  JSON
		ES6 标准新增了一种新的函数: Arrow Function(箭头函数). x => x *x 上面的箭头相当于: function (x){ return x*x; } 箭头函数相当于匿名函 ... 
- JavaScript中的箭头函数
		1.定义 箭头函数相当于匿名函数,并且简化了函数定义.箭头函数有两种格式,一种像上面的,只包含一个表达式,连{ ... }和return都省略掉了.还有一种可以包含多条语句,这时候就不能省略{ ... ... 
- javascript 使用 匿名 箭头函数 this的变化
		处理html 页面 <body> <div class="main"> <div class="up"> <div c ... 
- JavaScript中的普通函数和箭头函数
		最近被问到了一个问题: javaScript 中的箭头函数 ( => ) 和普通函数 ( function ) 有什么区别? 我当时想的就是:这个问题很简单啊~(flag),然后做出了错误的回答 ... 
- JS中的普通函数和箭头函数
		最近被问到了一个问题: >javaScript 中的箭头函数 (=>) 和普通函数 (function) 有什么区别? 我当时想的就是:这个问题很简单啊~(flag),然后做出了错误的回答 ... 
- [ES6系列-02]Arrow Function:Whats this?(箭头函数及它的this及其它)
		[原创] 码路工人 大家好,这里是码路工人有力量,我是码路工人,你们是力量. 如果没用过CSharp的lambda 表达式,也没有了解过ES6,那第一眼看到这样代码什么感觉? /* eg.0 * fu ... 
- 深入理解JavaScript中的箭头
		箭头函数可以使我们的代码更加简洁,如下: var sum = (a,b) => a+b; JavaScript 充满了我们需要编写在其他地方执行的小函数的情况. 例如: arr.forEach( ... 
- 轻松学习 JavaScript——第 6 部分:JavaScript 箭头函数
		JavaScript箭头函数是ECMAScript 6中引入的编写函数表达式的一种简便方法.通常,在JavaScript中,可以通过两种方式创建函数: 函数语句. 函数表达式. 可以如下所示创建函数语 ... 
- 【javascript】箭头函数
		ES6标准新增了一种新的函数:Arraw Function(箭头函数). x => x * x 这个函数相当于 function (x){ return x * x; } 题外话:user st ... 
- JavaScript学习笔记(十二)——箭头函数(Arrow Function)
		在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/ ... 
随机推荐
- 解决android studio引用远程仓库下载慢(JCenter下载慢)
			使用开源中国的maven库 阿里云的(速度飞快):http://maven.aliyun.com/nexus/content/groups/public/ 替换项目根目录下build.gradle中的 ... 
- JS中让新手倍感震惊、违反直觉、出乎意料、的一些知识点汇总记录
			本文记录在自己学习js过程中,违反直觉,出乎意料,倍感震惊的知识点.当然,不了解这个知识点,很容易出错,因为毕竟违反直觉,出乎意料,倍感震惊嘛! 1. 两个内容一样的数组竟然不相等? var a = ... 
- Linux(Ubuntu)------常用命令汇总
			文件 unzip -O cp936 file.zip unzip -O cp936 file.zip -d dir tar -zxvf file -C dir mv [-i ] file1 file2 ... 
- DAY29、元类
			一.eval内置函数eval内置函数的使用场景: 1.执行字符串会得到相应的执行结果 2.一般用于类型转换,得到dict.list.tuple例: dic_str = ''{'a':1,'b':2}' ... 
- Python Face Detect Offline
			python版本 3.7.0 1. 安装 cmake pip install cmake 2.安装 boost pip install boost 3.安装 dlib pip install d ... 
- 曝Wi-Fi重大缺陷:你浏览的或是个假网站
			今年央视315晚会上曝光的Wi-Fi探针收集用户信息的热度还未消退,阿里安全专家研究发现了Wi-Fi的重大新问题:基于WPA/WPA2设计上存在的一些缺陷,用户在使用公共Wi-Fi时,被攻击者钓鱼,进 ... 
- 【CF1063F】String Journey 哈希
			题目大意 给你一个字符串 \(s\),让你找出最大的 \(k\),满足:能从 \(s\) 中选出 \(k\) 个不重叠的字符串 \(t_1,t_2,\ldots,t_k\),且 \(\forall i ... 
- HNOI2018寻宝游戏
			https://www.luogu.org/problemnew/show/P4424 题解 我们首先按位考虑. 如果有一位最终的结果为1,那么我们可以把树的序列看成一个二进制数,先出现的在底位,后出 ... 
- ACM-ICPC 2018 徐州赛区网络预赛 HRyuji doesn't want to study 树状数组
			题目链接:https://nanti.jisuanke.com/t/A2007 题目大意:有一个序列含有n个数a[1],a[2],a[3],……a[n],有两种操作: 第一种操作:k=1,l,r,询问 ... 
- Spring Boot 集成 Spring Security 实现权限认证模块
			作者:王帅@CodeSheep 写在前面 关于 Spring Security Web系统的认证和权限模块也算是一个系统的基础设施了,几乎任何的互联网服务都会涉及到这方面的要求.在Java EE领 ... 
