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中的数据类型
/* typeScript中的数据类型 typescript中为了使编写的代码更规范,更有利于维护,增加了类型校验,在typescript中主要给我们提供了以下数据类型 布尔类型(boolean) 数 ...
- TypeScript入门-基本数据类型
▓▓▓▓▓▓ 大致介绍 TypeScript是由C#语言之父Anders Hejlsberg主导开发的一门编程语言,TypeScript本质上是向JavaScript语言添加了可选的静态类型和基于类的 ...
- TypeScript学习笔记—数据类型
TypeScript 数据类型 Boolean 类型 let isDone: boolean = false; // tsc => var isDone = false; Number 类型 l ...
- Typescript基础(1)——数据类型
前言 这是开始学习Typescript的一些笔记,涉及的都是很基础的知识点.大神们请绕路或者欢迎指点.今天开始第一部分数据类型的学习. 数据类型 Typescript中为了使代码编写更加规范,更加易于 ...
- 基本数据类型TypeScript
TypeScript 前言 最近项目很急,所以没有什么时间回答关于Xamarin.Android方面的问题,也有一段时间没有更新.主要是手头很缺人,如果有谁有兴趣加入我们的话,可以私聊我,这样我就能继 ...
- TypeScript基础数据类型
Typescript与Javascript 二者的区别 作为前端开发的基础语言javascript已经深入人心,人人皆知.作为变成入门的最简单语言,Javascript语言以动态.弱类型语言而著名,学 ...
- TypeScript学习笔记(一)环境搭建和数据类型
目录 一.学习TypeScript的缘由 二.学习环境的搭建 1. TypeScript的编译环境 2. vscode自动编译的配置 三.TypeScript中的数据类型 1. 简单变量的定义和初始化 ...
- TypeScript入门
博客园首发,转载请注明出处,多谢支持.http://www.cnblogs.com/xuema/ 一.TypeScript TypeScript是一种由微软开发的自由和开源的编程语言.它是JavaSc ...
- 前端入门25-福音 TypeScript
声明 本篇内容摘抄自以下来源: TypeScript 中文网 只梳理其中部分知识点,更多更详细内容参考官网. 正文-TypeScript 今天来讲讲有 Java 基础转 JavaScript 的福音: ...
随机推荐
- 小米Git
这个题目的意思其实就是要分别从根节点开始遍历(dfs)到给定的两个点,然后从得出的路径中获取最早相同的点即为结果. class Solution { public: /** * 返回git树上两点 ...
- 一个简单的makefile
#common makefile header LOCAL_INCLUDE := \ -I/xxx/ACE/ACE/ LOCAL_FLAGS := $(LOCAL_INCLUDE) LIBS := - ...
- 数据导出Excel
package com.jy.pjbj.web.action.util; import java.io.File;import java.util.List; import javax.xml.rpc ...
- Ceph剖析:定时器safetimer的实现
定时器的作用是在指定的时间执行指定的动作.SafeTimer通过multimap数据结构维护定时项,定时项是时间和事件的Pair,定时项在map中按照定时时间从小到大排列.此外,SafeTimer使用 ...
- 浅谈SDN和NFV之间的关系
一个行业固定设备的折旧周期很长,任何变革的发生都绝非易事,但是网络却一次性面临两项革新--软件定义网络(SDN)和网络功能虚拟化(NFV),在变革网络的过程中,二者若想取得成功可能会依赖彼此的技术,或 ...
- sublime配置coffeeScript
node.js 全局模块所在目录 npm -g ls 1.安装 npm install -g coffee-script 2.sublime安装CoffeeScript sublime语法高亮插件 ...
- 下载Orchard源码
下载地址:http://orchardproject.net/download
- LeetCode(97) Interleaving String
题目 Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2. For example, Given: ...
- python中的enumerate
读取一个iter,返回[index,内容]的一个list
- JAVA抓取URL
package com.ais.plugin.analyse.test; import com.ais.plugin.analyse.util.MD5; import java.io.*; impor ...