基础数据类型(Basic Types)

为了搭建应用程序,我们需要使用一些基础数据类型比如:numbers,strings,structures,boolean等等. 在TypeScript中除了JavaScript现有的常见的数据类型外还有一个非常实用的枚举类型(enumeration type).

Boolean

最基础的数据类型莫过于只有true和false的布尔类型了,在TypeScript,JavaScript以及其它的很多数程序语言中我们使用关键字'boolean'.

var isDone: boolean = false;

Number

正如在JavaScript中一样,所有的数字在TypeScript中都是浮点型,我们使用关键字'number'定义数字类型.

var height:number = 6;

String

除去boolean和number类型,其它的基础数据一般都存在字符串类型中. 如其它计算机语言一样,在TypeScript中使用关键字'string'定义字符串. TypeScript和JavaScript一样使用双引号("Data")或者单引号('Data')去包裹字符串内容.

var name: string = "Bob";
name = "Scott";

Array

像JavaScript一样,TypeScript允许你使用数组类型. 我们可以使用两种方式中的任意一种定义数组类型. 第一种方式通过在数据类型后紧跟一对中括号"[]"去定义某特定类型的数组:

var list:number[] = [1,2,3];

第二种方式使用一个泛型数组类型,Array<ElementType>:

var list:Array<number> = [1,2,3];

Enum

除了JavaScript中的基本数据类型,在TypeScript中我们可以使用关键字'Enum'去定义一个枚举类型. 就像在C#中一样, 枚举类型可以让你以更加友好的方式定义一组数字类型.

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

默认情况下,枚举中的元素是从0开始的,TypeScript允许你手动去修改某个元素的值. 我们可以让枚举类型从1开始:

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

甚至你可以手动去设置每个元素的值:

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

另一个方便的特性是,你可以通过枚举类型的索引取出与之相对应的字符串,如果已知索引为2,但是不知道与之相对应的字符串是什么,我们可以通过这个特性来查看:

enum Color {Red = 1, Green, Blue};
var colorName: string = Color[2];

alert(colorName);

Any

在我们开发程序的时候,有时候需要去定义一些我们未知的数据类型,这个变量的值可能是从一些动态内容中获取,比如一些第三方类库. 在这种情况下,我们希望定义一个不参与类型检查的变量并且通过编译,这时可以使用关键字'any'.

var notSure: any = 4;
notSure = "maybe a string instead";
notSure = false; // 布尔类型

'any'是一个强大的数据类型去和现有的JavaScript类库对接,允许你在编译时按部就班的参与和退出类型检查.

如果你已知部分数据类型any同样非常方便,比如你有个包含不同类型数据的数组:

var list:any[] = [1, true, "free"];

list[1] = 100;

Void

跟'any'相对应的数据类型是'void',通常会出现在一个函数没有任何返回值的时候.

function warnUser(): void {
    alert("This is my warning message");
}

TypeScript学习指南第一章--基础数据类型(Basic Types)的更多相关文章

  1. Spirng学习指南-第一章(完)

    Spring学习指南 内容提要 ​ Spring框架是以简化J2EE应用程序开发为特定目标而创建的,是当前最流行的Java开发框架. ​ 本书从介绍Spring框架入手,针对Spring4.3和Jav ...

  2. TypeScript学习指南第二章--接口(Interface)

    接口(Interface) TypeScript的核心机制之一在于它的类型检查系统(type-checker)只关注一个变量的"模型(shape)" 稍后我们去了解这个所谓的形状是 ...

  3. 《Python基础教程(第二版)》学习笔记 -> 第一章 基础知识

    写笔记的原因:书也看了一遍,视频也看了,但总是感觉效果不好,一段时间忘记了,再看又觉得有心无力,都是PDF的书籍,打开了就没有心情了,上班一天了,回家看这些东西,真的没多大精力了,所以,我觉得还是把p ...

  4. [读书笔记] Spring MVC 学习指南 -- 第一章

    控制反转(Inversion of Control, IoC)/ 依赖注入: 比如说,类A依赖于类B,A需要调用B的某一个方法,那么在调用之前,类A必须先获得B的一个示例引用. 通常我们可以在A中写代 ...

  5. TypeScript学习指南--目录索引

    关于TypeScript: TypeScript是一种由微软开发的自由和开源的编程语言.它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程. TypeS ...

  6. Java学习记录第一章

    学习Java第一章的记录,这一章主要记录的是Java的最基础部分的了解知识,了解Java的特性和开发环境还有Java语言的优缺点. 计算机语言的发展大概过程:机器语言--->汇编语言---> ...

  7. 《Go语言圣经》阅读笔记:第三章基础数据类型

    第三章 基础数据类型 Go语言将数据类型分为四类: 基础类型 数字 整数 浮点数 复数 字符串 布尔 复合类型 数据 结构体 引用类型 指针 切片 字典 函数 通道 接口类型 在此章节中先介绍基础类型 ...

  8. PADSPCB权威指南-第一章 PADS软件系统(部分)(原创)

    PADSPCB权威指南-第一章(部分)豆丁地址:http://www.docin.com/p-707128286.html

  9. .net架构设计读书笔记--第一章 基础

    第一章 基础 第一节 软件架构与软件架构师  简单的说软件架构即是为客户构建一个软件系统.架构师随便软件架构应运而生,架构师是一个角色. 2000年9月ANSI和IEEE发布了<密集性软件架构建 ...

随机推荐

  1. Java + MongoDB Hello World Example--转载

    原文地址:http://www.mkyong.com/mongodb/java-mongodb-hello-world-example/ A simple Java + MongoDB hello w ...

  2. 电商ERP常见功能模块

      电商ERP是适用企业卖家的专业电子商务ERP,支持淘宝.天猫.京东.1688.当当.苏宁.拍拍.唯品会.亚马逊.独立B2C等多网络销售渠道:也包括 异地多仓..货位管理.智能配货等专业的WMS(仓 ...

  3. 将Oracle表导入到Access方法,已经安装了Access但Win7提示 找不到access driver

    已经安装了Access但Win7提示 找不到access driver: 1.打开 "C:\Windows\SysWOW64\odbcad32.exe" 2.管理员cmd运行 命令 ...

  4. JSON对象和string的相互转换

    JSON.stringify(obj) 将JSON转为字符串. JSON.parse(string) 将字符串转为JSON格式.

  5. Flash cs6 如何从FLA 文件导出sound文件

    Flash. How to export sound from the FLA file extract sound from a fla 第一个是图文教程,在下面还有"watch vide ...

  6. box-shadow学习笔记

    CSS3 box-shadow属性的简单学习笔记 语法格式: box-shadow: h-shadow v-shadow blur spread color inset; 值 描述 h-shadow ...

  7. webstorm添加vue模板支持

    字谕纪泽: 八月一日,刘曾撰来营,接尔第二号信并薛晓帆信,得悉家中四宅平定,至以为尉. 汝读”四书”无甚心得,由不能虚心涵泳,切己体察.朱子教人读书之法,此二语最为精当.尔现读”离娄”,即如“离娄”首 ...

  8. ASP实现随机提取数据库记录例

    <% "一个从数据库中随机读取纪录的例子 Set Rs1=server.CreateObject ("adodb.recordset") Set Rs=server ...

  9. Unity3d不支持vistual studio2012?用vs2012打开unity c#脚本进行编码的方法。

    unity3d是支持vs2010的,但是有很多开发者反应,unity3d中的C#脚本不能用vs2012打开.我想了一下,先进入存放C#脚本的目录,在设置里面C#文件的打开方式,选择用vs2012打开, ...

  10. sql 理解视图

    可以看作是定义在sqlserver上的虚拟的表,本身并不存储数据,仅仅存储一个select语句和涉及的表的引用 通过视图,客户端不再需要知道底层表结构和其之间的关系,视图提供了一个统一访问数据的接口 ...