风雨砥砺,岁月如歌——Ts之箭头函数
小编最近接触到了箭头函数(Arrow Functions),诚然,我觉得它真的是一个绝妙的设计,所以来浅谈一下我的理由:
首先,它非常简洁:如果我用箭头函数写一个函数:
var sum = (arg1, arg2) => arg1 + arg2;
同样的,如果用js来写:
var sum = function (arg1, arg2) { return arg1 + arg2; };
是不是觉得好像省了不少力呢。
再来一个:
var myarray = [1, 2, 3, 4, 5];
console.log(myarray.filter(value => value % 2 == 0));
现在用js来写它:
var myarray = [1, 2, 3, 4, 5];
console.log(myarray.filter(function (value) { return value % 2 == 0; }));
当然,我觉得最重要的还是用箭头函数能非常的明确,不会出现莫名其妙的错误:
举个栗子:
这是一段获取股票价格的代码:
function getStock(name: string) {this.name = name;setInterval(function () {console.log("name is:"+this.name)},1000)
}var stock = new getStock("IBM");
但是你运行起来会痛苦的发现,控制台啥都没有:
如果你用箭头函数来写它,那就不会出错啦:
function getStock(name: string) {this.name = name;setInterval(()=> {console.log("name is:"+this.name)},1000)
}var stock = new getStock("IBM");
控制台数据:
感谢阅读!
风雨砥砺,岁月如歌——Ts之箭头函数相关推荐
- [微信小程序] 微信小程+ts中 箭头函数和this的问题
今天想体验一把微信小程序里使用ts的感觉,结果尴尬了-- 一个基本的点击事件居然卡了半天,太尴尬了,本来我的想法是:在界面上定义一个button点击一下,随机渲染一个数字,写完狂报错, 在微信小程序里 ...
- ts中箭头函数用泛型表示,6种方法
直接上代码 const foo = <T,>(x: T): T => x;const foo = <T extends {}>(x: T): T => x;cons ...
- typescript箭头函数参数_Typescript 入门基础篇(一)
Typescript 基础 Typescript是Javascript的一个超集.以下typescript简称为ts, 此文章主要是对ts官网文档的一个简化,缩短学习基础时间. 类型基础 ts 的类型 ...
- ts定义返回函数类型
一般函数声明: //第一种形式 let c: Function; c = function(): void {console.log('It work'); }//第二种形式 function tes ...
- Java箭头函数,lambda函数
Java箭头函数,lambda函数 lambda表达式实质就是一种语法糖,(建议尽量不要使用lambda表达式,代码太简洁,难懂,难以调试) lambda表达式的简单例子: 不需要参数,返回5 ()- ...
- es6箭头函数(=)与展开特性运算符(...)的使用
2019独角兽企业重金招聘Python工程师标准>>> 箭头函数的几个写法 //当含有固定个参数的时候,es5写法 function test(a,b){ ..}//es6写法(es ...
- ES6语法~解构赋值、箭头函数、class类继承及属性方法、map、set、symbol、rest、new.target、 Object.entries......
2015年6月17日 ECMAScript 6发布正式版本 前面介绍基本语法, 后面为class用法及属性方法.set.symbol.rest等语法. 一.基本语法: 1. 定义变 ...
- es6箭头函数中this
普通函数: $scope.$on('$stateChangeSuccess',function(){this.list = this.getList();}); 箭头函数: $scope.$on('$ ...
- JavaScript 初学者必看“箭头函数”
译者按: 箭头函数看上去只是语法的变动,其实也影响了this的作用域. 原文: JavaScript: Arrow Functions for Beginners 译者: Fundebug 本文采用意 ...
最新文章
- MySQL 数据库修改访问权限,不能使用ip连接mysql问题处理:Host ‘host.docker.internal‘ is not allowed to connect to this ...
- java中override快捷键_【基础回溯1】面试又被 Java 基础难住了?推荐你看看这篇文章。...
- 我的性格是外向型,解决问题导向的
- [MVC]Controller
- 持续集成mysql_DevOps安装、部署持续集成
- python判断相同,Python判断两个文件是否相同与两个文本进行相同项筛选的方法
- mvc5 @html,如何在MVC 5中使用 HTML5 Viewer
- ReactiveCocoa入门教程--第二部分
- 无刷新上传图片 可以实时预览 选择图片后即自动上传,没有上传按钮
- 网上好用的大数据支持的舆情分析系统工具整合
- LED背光源行业的产业链升级
- java设计模式笔记
- OSPF的区域划分与路由计算概述
- 信奥中的数学 数论篇 相关资料汇总(2022.07.07)
- 2万字系统总结,带你实现 Linux 命令自由?还不赶紧进来学习
- 【小波滤波】基于小波变换的噪声信号滤波处理matlab仿真
- 《C#网络编程高级篇之网页游戏辅助程序设计(扫描版)》
- 一问三不知之log4j2漏洞简析
- 3.Ray-Event编写
- RHCE培训笔记——DNS基础