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() ...
随机推荐
- javascript中call、apply、bind详解
1.apply和call的区别在哪里 2.什么情况下用apply,什么情况下用call 3.apply的其他巧妙用法(一般在什么情况下可以使用apply) 我首先从网上查到关于apply和call的定 ...
- 网关 整理 fastcgi wsgi
https://www.cnblogs.com/hzhtracy/p/4365938.html 网关协议学习:CGI.FastCGI.WSGI.uWSGI 一直对这四者的概念和区别很模糊,现在就特 ...
- android&sqlsever
http://blog.csdn.net/chaoyu168/article/details/51910601
- [daily][qemu][kvm] 使用virtfs在host与guest之间共享目录
如题. 之前我使用NFS,NFS会有同步问题.比如编译文件时候的时间同步问题,见前边的文章. 如今,我们使用高级的virtfs: 见:https://www.linux-kvm.org/page/9p ...
- 自己写的JdbcUtils小工具-----得到Connection对象
Properties文件中存放键值对------(可看对Properties文件的解析) static代码块是在构造函数之前执行的,而且只执行一次,即类首次加载时. 也就是只加载一次配置文件和加载数据 ...
- 半屏控制器,view: UIViewController+KNSemiModal
半屏控制器,view: UIViewController+KNSemiModal https://github.com/kentnguyen/KNSemiModalViewController
- day3_字符串常用方法
s.upper()s.lower()s.capitalize()s.split(',')s.strip('abc')s.lstrip()s.rstrip()s.replace('old','new') ...
- Filter & Listener
一 监听器的概述 监听器就是一个实现了特定接口的Java类,用于监听另一个Java类的方法调用或属性的改变.当被监听对象发生上述事件后,监听器某个方法将会立即被执行. 即用来监听其他对象的变化,主要应 ...
- [资料] Ceph存储系统,关于Redhat和Suse企业版存储知识汇总
版权声明:很多其它内容,请关注[架构师技术联盟]公众号 https://blog.csdn.net/BtB5e6Nsu1g511Eg5XEg/article/details/81117091 wx_f ...
- 技巧:低版本VS打开高版本VS创建的工程
错误一:当用低版本VS打开高版本VS创建的工程时,会出现: 方案:将该工程的解决方案文件的后缀由xxx.sln改成了xxx.txt然后,查看其内容如下: Microsoft Visual Studio ...