基础数据类型(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. iOS开发之静态库.a的制作教程

    第一种方法:直接新建一个工程. 1.新建项目-> 选择 “Cocoa Touch Static Library” 2.添加库需要包含的源代码,将你工程里的代码添加到打静态库工程里: 3.配置一下 ...

  2. cgi表单的处理

    在HTML中,当客户填写了表单,并按下了发送(submit)按钮后,表单的内容被发送 到了服务器端,一般的,这时就需要有一个服务器端脚本来对表单的内容进行一些处理, 或者是把它们保存起来,或者是按内容 ...

  3. Java序列化接口的作用总结

    一个对象有对应的一些属性,把这个对象保存在硬盘上的过程叫做”持久化”. 把堆内存中的对象的生命周期延长,存入硬盘,做持久化操作.当下次再需要这个对象的时候,我们不用new了,直接从硬盘中读取就可以了. ...

  4. LintCode 55 比较字符串

    比较两个字符串A和B,确定A中是否包含B中所有的字符.字符串A和B中的字符都是 大写字母 注意事项 在 A 中出现的 B 字符串里的字符不需要连续或者有序.   样例 给出 A = "ABC ...

  5. 3.x vector的用法

    #include<vector> //struct struct GOLD_STRUCT {     Sprite  * goldspSprite;     int goldValue; ...

  6. 浅谈用java解析xml文档(四)

    继续接上一文,这一阵子因为公司项目加紧,导致最后一个解析xml文档的方式,还没有总结,下面总结使用dom4J解析xml. DOM4J(Document Object Model for Java) 使 ...

  7. oracle怎么查看表字段的类型

    select column_name,data_type,DATA_LENGTH From all_tab_columns where table_name=upper('表名') AND owner ...

  8. 在Activiti官方源码上提交的两个bugfix

    前段时间在Activiti官方源码上提交了两个bugfix,截图为证. 第1个是BPMN model输出的bug:

  9. web app开发中 iPhone、iPad默认按钮样式问题

    webapp开发过程中,用html5+css3很方便,而且可以很方便的编译到Android ios等不同平台,但是ios需要单独处理一下,不然会出现一些想象不到的问题.下面就介绍一下各种问题的解决方法 ...

  10. 如何给windows窗体程序打包成一个安装包

    http://blog.csdn.net/xyy410874116/article/details/6341787 给windows窗体程序打包成一个安装包:具体操作在:http://hi.baidu ...