TypeScript 学习二 表达式和循环
表达式:
1,箭头表达式:将function用箭头代替,参数相应进行处理;
用来声明匿名函数,消除了传统匿名函数的this指针问题;
1)
例:简单的方法体为单行的方法,此时不需要大括号和return方法,表达式自动处理了;
如果方法体是多行的内容且有return语句时,就需要大括号了:
2)没有参数的方法的情况,直接写箭头就可以了:
var sum = () =>{
}
3)只有一个参数的情况,只在外边写一个参数就可以了,不用写括号:
var sum = arg1 =>{
console.log( arg1);
}
例:声明一个数组,将数组中的偶数打印出来;
var arr=[1,2,3,4];
console.log(arr.filter( value => value % 2==0)); //filter函数的参数就是一个匿名函数,匿名函数只有一个参数value,不用加括号,方法体就是value%2==0;filter函数将偶数留下,其他的都过滤了;
结果就是如下图:
4)消除this指针的问题:
传统的javascript中用到this时会出现一系列问题,如打印不出来想要的内容:
使用传统的javascript和this写的代码:
结果是这样:并没有打印出来“IBM”
使用typescript中的箭头表达式:
结果是如下的,将IBM打印出来了:
2,循环,forEach(),for in ,for of ;
1)forEach():对值的循环;不允许break;忽略属性;
desc是对该数组进行描述的一个属性,因为typescript不支持这个特性,所以会报错,但是forEach()会在运行时忽略掉这个属性,所以运行结果正常显示:
问题:forEach()方法除了会忽略属性之外,还不允许打破循环,例如break语句;
2)for in:对键key的循环,不会忽略属性;不允许break;常用于打印对象或集合中键值对中的键名;或是数组的 下标,及属性值;
执行结果是:将下标和属性值打印出来了
要想将值打印出来,就要将输出语句改成console.log( arr[n] );这样结果会将值打印出来;
for of循环:和forEach循环类似,都是对值的循环,而不是对键key的循环;特性是允许break; 忽略属性;
代码形式同for in, 只是in 变成of ,结果如下:忽略属性:
允许break的情况:
结果如下:满足break条件时就停止了;同时忽略属性;
for of可以用在任何对象上,如数组,Map, Set, 字符串(就是将字符串中的字符都循环打出来)
TypeScript 学习二 表达式和循环的更多相关文章
- TypeScript 学习一 参数,函数,析构表达式
1,TypeScript是由谷歌开发的,并且新出的Angular2框架就是谷歌公司由TypeScript语言编写的,所以现在TypeScript是有微软和谷歌一起支持的: 2,TypeScript在j ...
- Typescript 学习笔记二:数据类型
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- Scala学习(二)--- 控制结构和函数
控制结构和函数 摘要: 本篇主要学习在Scala中使用条件表达式.循环和函数,你会看到Scala和其他编程语言之间一个根本性的差异.在Java或C++中,我们把表达式(比如3+4)和语句(比如if语句 ...
- day 82 Vue学习二之vue结合项目简单使用、this指向问题
Vue学习二之vue结合项目简单使用.this指向问题 本节目录 一 阶段性项目流程梳理 二 vue切换图片 三 vue中使用ajax 四 vue实现音乐播放器 五 vue的计算属性和监听器 六 ...
- Python入门基础学习 二
Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...
- 利用python 学习数据分析 (学习二)
内容学习自: Python for Data Analysis, 2nd Edition 就是这本 纯英文学的很累,对不对取决于百度翻译了 前情提要: 各种方法贴: https://w ...
- typeScript学习随笔(一)
TypeScript学习随笔(一) 这么久了还不没好好学习哈这么火的ts,边学边练边记吧! 啥子是TypeScript TypeScript 是 JavaScript 的一个超集,支持 es6 标准 ...
- shell 学习笔记9-while/until循环语句
一.while循环语句 1.循环语句 循环愈久就是重复执行一条指令或一组执行,知道条件不在满足时停止,shell循环语句包括,while.until.for.select语句 2.while循环 主要 ...
- day 81 Vue学习二之vue结合项目简单使用、this指向问题
Vue学习二之vue结合项目简单使用.this指向问题 本节目录 一 阶段性项目流程梳理 二 vue切换图片 三 vue中使用ajax 四 vue实现音乐播放器 五 vue的计算属性和监听器 六 ...
随机推荐
- 学习GDI+ (1)
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- Android入门之环境搭建
欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/1376935560.html 原创:An ...
- PLAN: 入门题目
一道道刷完它! A07, A11, A12, A14, A15, A18, A22, A24, A25, A26, A27 A29, A32, A34, A59, A66, A69, A84, B24 ...
- 【Apache ZooKeeper】命令行zkCli.sh使用指南
ZooKeeper命令行 原文 http://blog.csdn.net/ganglia/article/details/11606807 ZooKeeper客户端 ...
- socket网络编程快速上手(二)——细节问题(3)
3.SIGPIPE问题 人怕牺牲,我们写的程序也一样,人有死不瞑目,程序又何尝不是?程序跑着跑着,突然就崩掉了.好一点的牺牲前告诉你些打印,差点的也能用core文件等一些手段查出死在哪了,最惨不忍睹的 ...
- 64位下Hook NtOpenProcess的实现进程保护 + 源码 (升级篇 )
64位下Hook NtOpenProcess的实现进程保护 + 源码 (升级篇 ) [PS: 如果在64位系统下,出现调用测试demo,返回false的情况下,请修改Hook Dll的代码] glhH ...
- Mongodb 集群搭建以及常见错误(不分块,分片,以及加验证)
1 关于Replica Sets +Sharding(主从复制加分片)搭建,不这详细去说,网上有很多,大部分的例子就三台服务器之间做主从复制,分2个shard,架构图如下 mongodb节点 分别为 ...
- appfog java jdbc mysql连接
本来用得好好的openshift被墙了,无奈只能找过一个免费的空间.同学推荐appfog,appfog的确是一个很好用的空间,支持几乎所有主流的技术.我自己喜欢写点java,刚好我就开始使用了.app ...
- C# ASP.net 入门之简单通讯录
简单通讯录功能虽然简单,却包括了制作一个网站的基本功能!各个模块可以作为新手入门的参考. 简单通讯录实现功能:1.登录 2.注册 3.后台管理 4.前台登录显示 5.创建联系人 6.密码修改 代码下载 ...
- Java-调用抽象类中指定参数的构造方法
abstract class person { private String name; private int age; public person(String name,int age) ...