ES6之箭头表达式
ES2015新增的特性箭头表达式,省去了关键词function,文中``双撇号和${}是Typescript的语法。以下是一些学习笔记:
1.单行箭头表达式:
var foo = (arg1,arg2) => arg1 + arg2;
//上述表达式相当于
var foo = function (arg1, arg2) { return arg1 + arg2; };
2.多行箭头表达式(必须使用{}大括号):
var foo = (arg1, agr2) => {
return arg1 + agr2;
}
//以上表达式相当于
var foo = function (arg1, arg2) {
return arg1 + arg2;
};
3.无参数:
var foo = () => {}
//以上表达式相当于
var foo = function () {}
4.一个参数(无需使用()小括号):
var foo = arg => {
return arg*arg;
}
//以上表达式相当于
var foo = function (arg) {
return arg*arg;
}
5.栗子:
var arr = [1,2,3,4,5];
console.log(arr.filter(value => value%2 == 0)) //以上代码相当于
var arr = [1, 2, 3, 4, 5];
console.log(arr.filter(function (value) { return value % 2 == 0; })); //[2,4]返回被2整除的值
6.箭头表达式中的this关键字:
//(1)ES5方式(计时器中无法找到this)
function Foo (name:string) {
this.name = name;
setInterval(function () {
console.log(`name is: ${this.name}`);
},1000);
}
var foo = new Foo('莎士比亚');
//返回name is---无法找到this.name
//(2)ES6方式(计时器中可以找到this)
function Foo (name:string) {
this.name = name;
setInterval(() => {
console.log(`name is: ${this.name}`);
},1000);
}
var foo = new Foo("莎士比亚");
//name is: 莎士比亚
ES6之箭头表达式的更多相关文章
- es6 箭头函数【箭头表达式】
箭头函数,通过 => 语法实现的函数简写形式,C#/JAVA8/CoffeeScript 中都有类似语法.与函数不同,箭头函数与其执行下文环境共享同一个 this.如果一个箭头函数出现在一个函数 ...
- 初步探究ES6之箭头函数
今天要介绍的是ES6中的箭头函数. 语法 我们先来看看箭头函数的语法: ([param] [, param]) => { statements } param => expression ...
- TypeScript02 方法特性【参数种类、参数个数】、generate方法、析构表达式、箭头表达式、循环
1 方法的参数 1.1 必选参数 调用方法时实参的个数必须和定义方法时形参在数量和类型上匹配 /** * Created by Administrator on 2017/8/2 0002. */ f ...
- ES6中箭头函数的作用
我们知道在ES6中,引入了箭头函数,其本质就是等同有ES5中的函数.类似于下面的写法: let test1=() => “abc”; let test2=() => { return “a ...
- Es6中箭头函数与普通函数的区别
Es6中箭头函数与普通函数的区别? 普通function的声明在变量提升中是最高的,箭头函数没有函数提升 箭头函数没有属于自己的this,arguments 箭头函数不能作为构造函数,不能被new,没 ...
- typescript 箭头表达式
箭头表达式:用来声明匿名函数,消除传统匿名函数的this指针问题 1.无参 var sum = () => {} 2.一个参数 var sum = arg2 => {} 3.多个参数 va ...
- js里typeof和instanceof和箭头表达式要注意的地方,以及其他
如果学过类似C#这样的语言,然后定义两个类class Mu{}和class Ku{},那么显然typeof Mu != typeof Ku的,但是在js里则不是这样,对于Mu和Ku的对象进行typeo ...
- es6的箭头函数和es5的function函数区别
一.es6的箭头函数es6箭头函数内部没有this,使用时会上朔寻找最近的this不可以做构造函数,不能使用new命令,因为没有this函数体内没有arguments,可以使用rest参数代替不能用y ...
- Es6 之箭头函数 初学
不积跬步,无以至千里;不积小流,无以成江海! // ES5 var selected = allJobs.filter(function (job) { return job.isSelected() ...
随机推荐
- 【魔改】hdu6325 多校赛3G xy排序凸包+llvector模板
凸包算法前的预处理,可以极角排序,也可以按X,Y轴排序, 极角排序需要找到角落里的一个点,Xy轴排序要跑两遍凸包 而本题的要求只要一个上半凸包,并且有X轴从小到大以及字典序限制,完全符合xy排序,直接 ...
- python-----多线程、线程池、进程池
import threadingimport time ###############################多线程################################------ ...
- 内联扩展 inline expansion
让编译器直接将完整的函数体插入到每一个调用该函数的地方,从而提高函数调用的运行速度. 优秀的JIT编译器会通过侦测运行信息,仅将需要频繁运行的瓶颈部分进行编译,从而大大削减编译所需的时间. 而且,利用 ...
- [https][ssl] keyless SSL
HTTP Server 集群前的负载设备,或内容审计设备等,在处理https的时候,需要用户配置提供证书. 但是考虑到安全问题,HTTP Server并不愿意把证书配置到其他设备上. 这个时候,就有个 ...
- 主备归档不一致导致的RMAN-08137无法清理归档解决方案
值班夜里接到归档目录满的告警,执行删除脚本发现报错 RMAN-08137: WARNING: archived log not deleted, needed for standby or upstr ...
- kafka4 副本机制
概述 每个分区有n个副本,可以承受n-1个节点故障. 每个副本都有自己的leader,其余都是follower. zk中存放分区的leader和 follower replica的信息.(get /b ...
- 003-docker命令-远程镜像仓库命令,本地镜像管理命令
1.远程镜像仓库 docker login/logout:查看 [不常用] docker push:查看 [不常用] docker search:从Docker Hub查找镜像 语法:docker s ...
- Win7各版本功能对比
- C++ 常用算法
http://blog.csdn.net/jgzquanquan/article/details/77185711
- python基础(9)-迭代器&生成器函数&生成器进阶&推导式
迭代器 可迭代协议和迭代器协议 可迭代协议 只要含有__iter__方法的对象都是可迭代的 迭代器协议 内部含有__next__和__iter__方法的就是迭代器 关系 1.可以被for循环的都是可迭 ...