TypeScript学习指南第一章--基础数据类型(Basic Types)
基础数据类型(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)的更多相关文章
- Spirng学习指南-第一章(完)
Spring学习指南 内容提要 Spring框架是以简化J2EE应用程序开发为特定目标而创建的,是当前最流行的Java开发框架. 本书从介绍Spring框架入手,针对Spring4.3和Jav ...
- TypeScript学习指南第二章--接口(Interface)
接口(Interface) TypeScript的核心机制之一在于它的类型检查系统(type-checker)只关注一个变量的"模型(shape)" 稍后我们去了解这个所谓的形状是 ...
- 《Python基础教程(第二版)》学习笔记 -> 第一章 基础知识
写笔记的原因:书也看了一遍,视频也看了,但总是感觉效果不好,一段时间忘记了,再看又觉得有心无力,都是PDF的书籍,打开了就没有心情了,上班一天了,回家看这些东西,真的没多大精力了,所以,我觉得还是把p ...
- [读书笔记] Spring MVC 学习指南 -- 第一章
控制反转(Inversion of Control, IoC)/ 依赖注入: 比如说,类A依赖于类B,A需要调用B的某一个方法,那么在调用之前,类A必须先获得B的一个示例引用. 通常我们可以在A中写代 ...
- TypeScript学习指南--目录索引
关于TypeScript: TypeScript是一种由微软开发的自由和开源的编程语言.它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程. TypeS ...
- Java学习记录第一章
学习Java第一章的记录,这一章主要记录的是Java的最基础部分的了解知识,了解Java的特性和开发环境还有Java语言的优缺点. 计算机语言的发展大概过程:机器语言--->汇编语言---> ...
- 《Go语言圣经》阅读笔记:第三章基础数据类型
第三章 基础数据类型 Go语言将数据类型分为四类: 基础类型 数字 整数 浮点数 复数 字符串 布尔 复合类型 数据 结构体 引用类型 指针 切片 字典 函数 通道 接口类型 在此章节中先介绍基础类型 ...
- PADSPCB权威指南-第一章 PADS软件系统(部分)(原创)
PADSPCB权威指南-第一章(部分)豆丁地址:http://www.docin.com/p-707128286.html
- .net架构设计读书笔记--第一章 基础
第一章 基础 第一节 软件架构与软件架构师 简单的说软件架构即是为客户构建一个软件系统.架构师随便软件架构应运而生,架构师是一个角色. 2000年9月ANSI和IEEE发布了<密集性软件架构建 ...
随机推荐
- eclipse安装android sdk后工具栏没有图标的设置
如果没有出现这android图标,选择'Window>Customize Perspective...>Commands',并在'Available command groups'中勾选' ...
- Mybatis案例
MyBatis MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架. MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索. MyBatis 可 ...
- C# 重新改变数组的长度
重新改变数组的长度 System.Array.Resize(ref FieldName, j);
- background不能填充margin的问题
CSS2 中有5个主要的背景(background)属性,它们是: background-color: 指定填充背景的颜色.background-image: 引用图片作为背景.background- ...
- Android学习(一) - Activity
好久不写博客了,自上次写到现在已经一年多了,写这东西其实坚持下来就好了,将自己学的东西一点点写出来成为日后的积累查阅的资料.最近不是特别忙,抽点时间学学移动开发. Android组件中常用的四大组件 ...
- nodejs中package.json文件模块依赖的版本格式
version 完全匹配 >version 大于这个版本 >=version大于或等于这个版本 <version 小于这个版本 <=version 小于等于这个版本 ~vers ...
- [MSDN]关键字查询语言 (KQL) 语法参考
MSDN:http://msdn.microsoft.com/library/ee558911(v=office.15) 了解如何构造 SharePoint 2013 中的搜索功能 的 KQL 查询. ...
- MYSQL之性能优化 ----MySQL性能优化必备25条
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数 ...
- Socket知识总结
一.网络编程相关概念 1. 互联网通过ip定位电脑 2. 在电脑中通过port定位程序 3. 程序和程序之间通过协议定义通信数据格式 二.Socket相关概念 1. ip地址 1) 每台联网的电脑都有 ...
- C++多态性与C#的比较
多态性:统一操作作用于不同的对象可以有不同的解释,产生不同的执行结果.多态性可以分为两种:一是编译时的多态性,一是运行时的多态性. 编译时的多态性包括重载.覆盖.运算符重载.对于非虚的 ...