基础数据类型(Basic Types)

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

Boolean

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

  1. var isDone: boolean = false;

Number

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

  1. var height:number = 6;

String

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

  1. var name: string = "Bob";
  2. name = "Scott";

Array

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

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

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

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

Enum

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

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

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

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

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

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

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

  1. enum Color {Red = 1, Green, Blue};
  2. var colorName: string = Color[2];
  3.  
  4. alert(colorName);

Any

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

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

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

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

  1. var list:any[] = [1, true, "free"];
  2.  
  3. list[1] = 100;

Void

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

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

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. PHP中$_POST,$_GET,$_REQUEST,$_FILES全局变量的全局指什么

    我一直担心,同一个表单,同时提交2次会发生什么事?在服务器端表单变量会不会彼此覆盖呢?也就是说假如我们在PHP中用$_REQUEST["name"]访问某个表单变量,会不会因为别人 ...

  2. IE兼容低版本

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><m ...

  3. 【转】Android应用程序的数据存放目录解说

    Android的每个应用程序,都有自己的可控的目录. 在Setting/Application info里面,可以看到每个应用程序,都有Clear data和Clear cache选项. 具体这些目录 ...

  4. C#学习笔记4:关键词大小写、复合格式化等

    1.取消选择的单选按钮值      RadioButton1.Checked=RadioButton2.Checked = false;//RadioButton1.Text = RadioButto ...

  5. Anddoi 将时间转换为指定时区的时间

    import java.text.Format;import java.text.ParseException;import java.text.SimpleDateFormat;import jav ...

  6. 手把手教你写电商爬虫-第三课 实战尚妆网AJAX请求处理和内容提取

    版权声明:本文为博主原创文章,未经博主允许不得转载. 系列教程: 手把手教你写电商爬虫-第一课 找个软柿子捏捏 手把手教你写电商爬虫-第二课 实战尚妆网分页商品采集爬虫 看完两篇,相信大家已经从开始的 ...

  7. Java使用Flying Saucer实现HTML代码生成PDF文档

    1.需要的jar包:org.xhtmlrenderer.flying-saucer-pdf-itext5,Maven依赖如下: <dependency> <groupId>or ...

  8. 使用CHttpFile从服务器端正确的读取数据

    前段时间在给软件做升级提示模块的时候发现一个问题,就是使用CHttpFile对象无法从服务器端获取到正确的响应数据长度,无论是使用CHttpFile:: QueryInfo方法,还是使用CHttpFi ...

  9. Wix: Using Patch Creation Properties - Small Update

    Source Reference: wix help document  -- WiX Toolset License Using Patch Creation Properties  A patch ...

  10. [Guava官方文档翻译] 5. Guava的Object公共方法 (Common Object Utilities Explained)

    我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3537367.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验 ...