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使用简单教程
废话不多说,直接开始 1. 进入https://github.com/ 创建你的账号,然后开始创建一个你的仓库(基本概念请自行百度),比如jun. 2. 创建好仓库之后,下载git 3,设置git,就 ...
- Flask备注三(Context)
Flask备注三(Context) Flask支持不同的应用场景下,对应不同的local context(本地上下文环境),用来提供当前环境下的资源.lcoal context和全局变量以及局部变量最 ...
- SQL Server 2008 r2 中 SQL语句提示“对象名无效”,但可执行
[问题描述]在使用 SQL Server 2008 r2 时,有时在完成SQL书写后,会提示“对象名无效”,而SQL语句可正常执行. [原因]缓存相关. [解决方法]ctrl+shift+R 刷新下, ...
- js高级应用
特别板块:js跨域请求Tomcat6.tomcat7 跨域设置(包含html5 的CORS) 需要下载两个jar文件,cors-filter-1.7.jar,Java-property-utils-1 ...
- A multi-faceted language for the Java platform
最近在研究关于groovy 相关的技术 希望有研究交到研究这方面的朋友 Groovy 最新的地址 http://www.groovy-lang.org/
- 网站内容禁止复制和粘贴、另存为的js代码(转)
1.使右键和复制失效 方法1: 在网页中加入以下代码: 代码如下: <script language="Javascript"> document.oncontextm ...
- .net 批量打印可实现方案
最近几年一直在教育行业工作,主要负责竞赛类系统的开发工作,包括网上报名,安排考场,在线考试,学业报告书等. 打印功能在这个信息化时代非常普遍,浏览器都自带打印功能,通常的做法是调用 window.pr ...
- 用Java导出为excel表格
导出的是最基础的excel表格,没有任何样式. <input type="button" value="输出到Excel" onclick='output ...
- php安装libiconv-1.14.tar.gz遇到的问题
遇到的Error code In file included from progname.c:26:0: ./stdio.h:1010:1: error: ‘gets‘ undeclared here ...
- Redis多机常用架构-主从
本文内容摘录自同事Perry Zhang的讲解,如需转载须本人同意. 1.主从 命令:slaveof <IP><PORT> redis主从配置:redis支持master-sl ...