基本数据类型TypeScript
TypeScript
前言
最近项目很急,所以没有什么时间回答关于Xamarin.Android方面的问题,也有一段时间没有更新。主要是手头很缺人,如果有谁有兴趣
加入我们的话,可以私聊我,这样我就能继续造福社区了,同时还有很多的好的库我也可以开源(兼容MvvmCross)。下面就我学习TypeScript。
工具
大家可以使用VS2013/2015,VS2012可以安装对应的插件,我们直接新建(带TypeScript的HTML应用程序),并在app.ts中进行开发,
如果读者想查看对应生成的js代码可以到项目目录下查看(建议不要把app.js添加到项目,因为那是自动生成的)。
基本数据类型
TypeScript不同于javascript这门弱类型语言,提供了常用的数据类型,这样我们可以编写的时候提供类型检查,这样我们在编写的时候可以当作强类型语言那样,可以避免很多在运行时才能发现的问题。下面我们就学习TypeScript中的数据类型。
Boolean
作为最简单的但也是最常用的就是布尔类型了,只有true和false这两种值,通过下面这段代码我们可以看到TypeScript不同于C#的(bool isDone = false)
这种形式,而是先通过var定义变量,然后在变量后跟上冒号,冒号后面才是真正的类型。如果读者尝试赋给他其他类型变量可以发现进行了类型检查,而也
是作为TypeScript带给我们的好处之一(大家放心我们依然可以使用到原汁原味的javascript下的var)
--TypeScript:
var isDone : boolean = false;
--JavaScript
var isDone = false;
Number
在TypeScript所有的数值都是单精度数值,不存在整数或者其他类型,只有Number。使用惯其他的语言的读者不要苦苦寻觅int,uint,long类型了。
--TypeScript
var height : number = 6;
height = 3.545;
height = -40;
--JavaScript
var height = 6;
height = 3.545;
height = -40;
String
跟其他的语言一样在TypeScript中对应的字符串类型也是String,而我们可以通过("")双引号或者('')单引号将字符串值括起来。
--TypeScript
var name : string = "TypeScript";
name = 'JavaScript';
--JavaScript
var name = "TypeScript";
name = 'JavaScript';
Array
在TypeScript中你可以跟在JavaScript中一样使用数组,在TypeScript中有两种定义数组的方式,其中一个方式就在类型后面跟上([])方括号。
--TypeScript
var list: number[] = [5, 6, 8];
--JavaScript
var list = [5, 6, 8];
另一种方式就是利用Array类型,将类型作为泛型参数传入。
--TypeScript
var list2: Array<number> = [5, 6, 8];
--JavaScript
var list2 = [5, 6, 8];
Enum
相对JavaScript,TypeScript增加了一个有用的基础数据类型,就是枚举。我们可以利用更友好的方式替代纯数字。
--TypeScript

enum Color {
Red,
Green,
Blue
};
var c: Color = Color.Red;

--JavaScript

var Color;
(function (Color) {
Color[Color["Red"] = 0] = "Red";
Color[Color["Green"] = 1] = "Green";
Color[Color["Blue"] = 2] = "Blue";
})(Color || (Color = {})); var c = 0 /* Red */;

我们可以看到枚举默认是从0开始顺序递增的,有过C#基础的人肯定知道可以修改第一个枚举的值从而
让后面的枚举值基础这个值进行递增,比如下面这个写法:
--TypeScript

enum Color {
Red = 1,
Green,
Blue
};
var c: Color = Color.Green;

--JavaScript

var Color;
(function (Color) {
Color[Color["Red"] = 1] = "Red";
Color[Color["Green"] = 2] = "Green";
Color[Color["Blue"] = 3] = "Blue";
})(Color || (Color = {})); var c = 2 /* Green */;

除此之外我们也可以指定每个枚举的值,比如下面这样。
--TypeScript

enum Color {
Red = 1,
Green = 2,
Blue = 4
};
var c: Color = Color.Green;

--JavaScript

var Color;
(function (Color) {
Color[Color["Red"] = 1] = "Red";
Color[Color["Green"] = 2] = "Green";
Color[Color["Blue"] = 4] = "Blue";
})(Color || (Color = {})); var c = 2 /* Green */;

很多时候我们需要获取枚举的字符串形式,而TypeScript不同于C#直接使用ToString方法就可以,
而是需要通过其他方式来获取,比如下面这样。
--TypeScript
var c: Color = Color.Green;
var s: string = Color[c];
--JavaScript
var c = 2 /* Green */;
var s = Color[c];
Any
虽然我们使用了TypeScript,获得了类型检查。但是许多第三方库中的变量不会作为单一类型的值来使用,
为此TypeScript提供了另一种类型,会跳过编译检查,但是我们为此就会失去类型检查。
--TypeScript

var notSure: any = 4;
notSure = "maybe a string instead";
notSure = false; var notSureList: any[] = [1, "fa", false];
notSureList[0] = "das";

--JavaScript

var notSure = 4;
notSure = "maybe a string instead";
notSure = false; var notSureList = [1, "fa", false];
notSureList[0] = "das";

Void
一般这种类型都是用在函数的返回值上,表示该函数没有返回值比如下面这样。
--TypeScript
function warnUser(): void {
alert("This is my warning message.");
}
--JavaScript
function warnUser() {
alert("This is my warning message.");
}
基本数据类型TypeScript的更多相关文章
- TypeScript之基本数据类型
前言 最近项目很急,所以没有什么时间回答关于Xamarin.Android方面的问题,也有一段时间没有更新.主要是手头很缺人,如果有谁有兴趣加入我们的话,可以私聊我,这样我就能继续造福社区了,同时还有 ...
- Typescript 学习笔记二:数据类型
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- Typescript基础(1)——数据类型
前言 这是开始学习Typescript的一些笔记,涉及的都是很基础的知识点.大神们请绕路或者欢迎指点.今天开始第一部分数据类型的学习. 数据类型 Typescript中为了使代码编写更加规范,更加易于 ...
- typeScript中的数据类型
/* typeScript中的数据类型 typescript中为了使编写的代码更规范,更有利于维护,增加了类型校验,在typescript中主要给我们提供了以下数据类型 布尔类型(boolean) 数 ...
- 遨游TypeScript海洋之定义变量和数据类型
变量和数据类型 熟悉JavaScript的小伙伴都知道,typescript是JavaScript的超集,也就是说它包含JavaScript.所以我觉得,只要你想拥有更佳的模块管理,让你的开发更佳严谨 ...
- 感受typescript定义变量和数据类型的神奇魔力
变量和数据类型 你的Javascript能力到达瓶颈?那是因为你还不会typescript.掌握TS,让你的开发更加准确简洁. 今天的学习中,我们接着从TS的数据类型和变量入手,感受它们的奇妙魔力. ...
- 关于typescript之定义变量和数据类型那点事
变量和数据类型 JavaScript虽说深受万千程序员喜爱,却有着对于企业大规模开发很难管理的缺陷.这时候,TypeScript的优势便体现出来.接下来,我们会先接触在TypeScript中定义变量相 ...
- TypeScript入门二:基本数据类型
浅析基本数据类型 TypeScript类型解析 一.浅析基本数据类型 首先有一个问题TypeScript是一门编译型语言?还是解释性语言?显然已经不能被这两个分类来区分,TypeScript的并不是为 ...
- Typescript 学习笔记七:泛型
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
随机推荐
- 读书笔记:《重来REWORK》
读书笔记:<重来REWORK> <重来Rework--更为简单有效的商业思维>这本书是看了别人的书单而购买的,初 拿到这本书翻看时,感觉有两点与平常的书不同,一是每个小节非常短 ...
- hdu4578(线段树)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4578 题意:n个数,初始值为0,4种操作: 1.将某个区间所有值加上另一个值: 2.将区间所有值都乘上 ...
- C#文件操作基础之File类和FileInfo类
文件和I/O流的差异: 文件是一些具有永久存储及特定顺序的字节组成的一个有序的.具有名称的集合. 因此对于文件,我们经常想到文件夹路径,磁盘存储,文件和文件夹名等方面. I/O流提供一种后备存储写入字 ...
- ORACLE 实验二
实验二:数据操纵 实验学时:4学时 实验类型:综合型 实验要求:必修 一.实验目的 1.掌握SQL数据查询语句: 2.掌握SQL聚集函数的使用. 3.掌握SQL插入.改动.删除语句的使用. 二.实验内 ...
- struts(二)——struts框架实现的基本原理
上一篇文章,我们介绍了MVC框架的基本原理,并指出了这个基本框架中存在大量if…else的问题.今天我们来介绍一下struts框架,让struts解决这个问题. 首先,看一下粗略的时序图: Actio ...
- 使用 DBMS_REPAIR 修复坏块
对于Oracle数据块物理损坏的情形,在我们有备份的情况下可以直接使用备份来恢复.对于通过备份恢复,Oracel为我们提供了很多种方式,冷备,基于用户管理方式,RMAN方式等等.对于这几种方式我们需要 ...
- C 一个字符串有三段,第一段原样输出,第二段为要输出字符串的长度,第三段为依据第二段长度补齐第一段
C 一个字符串有三段,第一段原样输出.第二段为要输出字符串的长度,第三段为依据第二段长度补齐第一段 比如:输入abc 11 12.输出abc12121212 #include<stdio.h&g ...
- 图解:Activity生命周期
当用户需要对手机通过屏幕进行交互时,比如打一个电话,拍张照片,发送一个邮件,或者查看地图.开发者就需要实现一个活动(Activity).每个活动都将作为一个提供用户使用接口的窗口.它可以填满整个屏幕, ...
- 尺取法 poj3061 poj3320
尺取法就是反复推进区间的开头和结尾,来求满足条件的最下区间. poj3061 http://poj.org/problem?id=3061 给定一个都是正整数的序列,要我们求总和不小于S的连续子序列的 ...
- hdu2818行列匹配+排序
题意:给定一个矩阵,矩阵上有的数字是1,有的是0,给定两种操作,交换某两行或者某两列,问是否能置换出对角线为1的矩阵 题解:能够置换出对角线是1的矩形要求有n个1既不在同一行也不再同一列,即行列匹配, ...