TypeScript系列2-手册-基础类型

基础类型(Basic Types)

我们提供一些基础类型,比如数字(numbers)、字符串(strings)、结构(structures),布尔值(Boolean)等等。在TypeScript中,我们支持JavaScript中相同的类型,还提供枚举类型。

Boolean

最基础的数据类型是true/false值,JavaScript和TypeScript以及其他语言把它叫做‘boolean‘类型。

var isDone: boolean = false;

Number

跟JavaScript一样,在TypeScript中的所有数字都是浮点数。这些浮点数使用‘number‘类型。

var height: number = 6;

String

JavaScript用来构建web页面和服务端程序的另一个基础部分是处理文本数据(textual data)。与其他语言一样,我们使用‘string‘来指这些文本数据类型。如同在JavaScript中一样,TypeScript也使用双引号(")或单引号(‘)来包裹这些字符串数据。

var name: string = "bob";
name = ‘smith‘;

Array

TypeScript与JavaScript一样,允许你使用数组。数组类型可以用2种方式书写。第一种方式,你可以在元素类型后面跟一个‘[]‘来表示该元素类型的数组:

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

第二种方式是使用数组泛型,Array<elemType>:

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

Enum

在JavaScript标准数据类型集合外,增加了"enum"类型。如同c#等语言一样,enum是表示一组数值更为友好的方式。

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

枚举类型默认从0开始计数。但可以对其中一个成员设置值来改变这一行为。例如针对前面例子,修改为从1开始而不是从0开始计数。

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"映射到Color枚举的哪一个,可以根据下面代码找到对应的名称:

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; // okay, definitely a boolean

‘any‘类型提供一条能与现有JavaScript协作的途径,允许你逐步选择参与和不参与编译时的类型检测。如果你知道类型的某些部分,但不知道类型的其他部分,那么‘any‘类型是十分方便的。例如有个数组用了不同的数据类型:

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

list[1] = 100;

Void

在某些情况下,‘any’类型的反面可能就是‘void‘类型,它表示非任何类型。可以把它看成一个无返回值函数的返回类型:

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

参考资料

[1] http://www.typescriptlang.org/Handbook#basic-types

时间: 2024-08-02 11:02:22

TypeScript系列2-手册-基础类型的相关文章

TypeScript学习笔记之基础类型

从今天开始学习typescript了,记录ts学习点滴,最后,使用ts结合nodejs开发后端应用,一起共勉吧: typescript最新版本2.6,所有演示代码均基于此版本 开始之前确定安装了如下npm包: npm i typescript -g // ts全局包 npm i ts-node -g // 使用ts-node可以直接运行ts文件 基础类型 布尔类型 let isDone: boolean = false let isExist: boolean = true console.lo

C#码农学TypeScript(2)——基础类型

学习每种语言,最开始都是类型. 下面做个表格,比较直观看一看. 名称 表示 取值 举例 备注 布尔值 boolean true/false let isDone: boolean = false;   数字 number 十进制.十六进制.二进制.八进制 let decLiteral: number = 6; let hexLiteral: number = 0xf00d; let binaryLiteral: number = 0b1010; let octalLiteral: number

TypeScript系列6-手册-函数

函数 函数是JavaScript中任意应用程序的基本构件块.可以在函数基础上建立抽象层,模拟类,信息隐藏,模块.在TypeScript中,虽然已经有类和模块,但函数函数仍然扮演着如何做事的关键角色.TypeScript还在标准JavaScript 函数基础上增加了一些新的能力,来使得函数更容易使用. 函数 TypeScript与JavaScript一样,都可以创建命名函数,也可以创建匿名函数.这样允许开发人员根据应用程序选择最合适的方式,不论是在一个API中建立一列函数还是建立一个one-off

TypeScript系列3-手册-接口

接口 TypeScript的一个核心原则是类型检测重点放在值的形状(shape),这有时候被称为鸭子类型化(duck typing)或结构子类型化(structural subtyping).在TypeScript中,用接口(interfaces)来命名这些类型,来定义项目内部代码的合约以及与外部代码的契约. 第一个接口 理解interface如何工作,最容易的方式就是先看一个简单例子: function printLabel(labelledObj: {label: string}) {   

TypeScript系列4-手册-类

类 传统的JavaScript语言基于函数和原型链继承机制的方式构建可重用的组件,但这对于OO编程人员来说显得比较笨拙,因为是在类的基础上来继承.从JavaScript标准ECMAScript 6开始可以采用面向对象基于类来构建应用.在TypeScript中开发人员现在就可以使用这些技术,TypeScript可以将它们编译为目前大多数浏览器和平台能允许的普通Javascript代码,可以不用等待下一版本的JavaScript的到来. 类 我们先看一个基于类的简单例子: class Greeter

TypeScript 之 基础类型

https://m.runoob.com/manual/gitbook/TypeScript/_book/doc/handbook/Basic%20Types.html TypeScript 的 基础类型,包括:boolean.number.string.数组.Tuple(元组).enum(枚举).any.void.null.undefined.类型断言 2种方式定义数组: 在元素类型后面接上[] let list: number[] = [1, 2, 3]; 使用数组泛型,Array<元素类型

Typescript学习笔记(一)基础类型

为了面向ng2和前端未来,开始搞向ts,ts是微软出的一枚语言,作为es6的超集,他出的一些特性还是蛮好用的(略坑).对于我等纯前端(从开始就接触javascript)的人来说,真想说,这特么什么鬼.部分特性同es6(个人对es6还是蛮有好感的).ts同期的coffeescript,将js python化,ts也把js搞的向其他语言靠拢.. 中文学习,这里是英文学习.如果不想看这些东西,那看我笔记学吧.哈哈. ts的基础类型,布尔值,数字,字符串,数组,元组(Tuple),枚举,任意值,空值.后

GL_GL系列 - 总账系统基础(概念)

1. 分类账 分类账是公司财务记录的核心,任何事物处理都必须经过这个环节 主要分类账: 按4C定义的用于保存记录的主要分类账 科目表 日历 币种 子分类续航会计方法 辅助分类续航: 用于辅助目的, 跨国公司可借助其遵守多种法律要求 可不主要分类账不同: 科目表 日历 币种 会计方法 分类续航处理选项 分类账的基本要素 帐套 会计科目结构 - 会计期间 - 本为币币种 - 定义子分类账会计方法 总账中可与分类账共享的元素 账户结构 值集 段值 安全性规则 交叉验证规则 会计日历 期间 期间类型 币

玩转JavaScript OOP[0]&mdash;&mdash;基础类型

前言 long long ago,大家普遍地认为JavaScript就是做一些网页特效的.处理一些事件的.我身边有一些老顽固的.NET程序员仍然停留在这种认知上,他们觉得没有后端开发肯定是构建不了系统的. 编程语言和技术的结合使用,就像一个男人娶了好几个妞一样.在旧的时代,.NET是大房,JavaScript是偏房.大房是"后宫之主",不仅要操持家业,还能给你生娃,娃将来也要继承家业的.偏房就没那么幸运了,在"后宫"没什么地位,虽然衣食无忧,但不能管理家族事务,生的