TypeScript 基本类型

在学习TypeScript之前,我们需要先知道怎么才能让TypeScript写的东西正确的运行起来。有两种方式:使用Visual studio 和使用 NodeJs。

这里我选择的是NodeJs来编译TypeScript,因为我笔记本上的VS是2012的,在TypeScript的官网看到下载是TypeScript for VS2013和TypeScript for VS2015。额,顺带贴上TypeScript的官网,有需要的去下载。

然后使用NodeJs编译TypeScript的方法:

// 安装
install : npm install -g typescript
// 编译
compile : tsc your.ts

使用VS的限于VS版本2013及2015的,可以下载相关组件,然后新建"TypeScriptFile"。在.ts文件下会有个.js文件,.js就是自动编译后的文件了,然后html引用.js文件即可。

为了让程序可运行,我们需要使用一些数据的基本类型: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编写网页或者服务端程序中,另外一个重要的部分便是文本类型数据。和其他语言一样,我们使用字符串(string)来指代这些文本类型的数据。和JavaScript相同,TypeScript也是用双引号("")或者单引号(‘‘)来包含字符串数据。

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

Array(数组)
TypeScript和JavaScript一样,允许使用数组来含括一系列的值。有两种不同的方式来写一个数组。第一种是在元素类型后面用中括号([])来表示这种类型元素的数组:

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

第二种是使用泛型创建类型数组,Array<elemType/ *数组元素的类型* />:

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

Enum(枚举)
在JavaScript原生的标准数据集之外,TypeScript增加了一个很实用的"enum"类型。比如C#,枚举给了我们更友好的名称(数字类型)来辨别数值集合。

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,但我们不知道在上面的枚举中对应的是哪个元素,那么我们可以查找相对应的名称:

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

Any
当我们编写应用程序的时候,我们可能需要描述一些不明确类型的变量。这些变量可能来自动态的内容,比如用户提供或者第三方库。在这些情况下,我们想要跳出类型检查并且让这些值通过编译时的检查。为了实现这个目的,我们使用"Any"类型来标识这些值:

var notSure: any = 4;
notSure = "maybe a string instead"; // 现在是string类型
notSure = false; // 现在是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");
}
时间: 2024-09-29 10:53:47

TypeScript 基本类型的相关文章

从C#到TypeScript - 高级类型

C# vs TypeScript - 高级类型 上一篇讲了基础类型,基本上用基础类型足够开发了,不过如果要更高效的开发,还是要看下高级类型,这篇和C#共同点并不多,只是延用这个主题. 联合类型 可以从字面上进行理解:其实就是多个类型联合在一起,用|符号隔开.如: string | number, 表示希望这个类型既可以是string,又可以是number.联合类型的字段只能调用这些类型共同拥有的方法,除非类型推论系统自动判断出真正的类型. //这里sn就是一个联合类型的字段,由于类型推论推断出s

TypeScript入门三:TypeScript函数类型

TypeScript函数类型 TypeScript函数的参数 TypeScript函数的this与箭头函数 TypeScript函数重载 一.TypeScript函数类型 在上一篇博客中已经对声明TypeScript类型变量已经做了初步的解析,这里先回顾以下: 1 //声明函数 2 function add1(x:number,y:number):number{ 3 return x+y; 4 } 5 6 let add2 = function(x:number,y:number):number

TypeScript的类型

⒈TypeScript的类型 JavaScript语言的数据类型包括以下7种: 1.boolean(布尔),true || false 2.null,表明null值得特殊关键字,JavaScript是大小写敏感的,不要误写成Null或者NULL 3.undefined,变量未定义时的属性 4.number,表示数字,例如1.1.2等等 5.string,表示字符串,例如:“Hello World!” 6.symbol,一种数据类型(在ES6种新添加的类型),表示该实例唯一且不可改变. 7.obj

TypeScript(一)TypeScript培养类型思维

TypeScript培养类型思维 前言:当你点开这篇文章时,我相信你已经在很多地方都已经听说过或者见过TypeScript了.但是可能对TypeScript依然有很多问号:TypeScript到底是什么?为什么每个人都在说TypeScript怎么怎么好,到底好在哪里?Angular.Vue3接连使用TypeScript进行了重构是否意味着我们必须掌握TypeScript,它们又为什么要选择TypeScript?我需要什么样的基础才能学会或者说学好TypeScript呢?没有关系,在这个章节中我们

typescript基础类型

布尔值 Boolean let isDone:boolean=false; 数字 Number let decLiteral:number=6; let hexLiteral:number=0xf00d; 字符串 String let name:string="bob"; name="smith"; 模版字符串 template let name:string=`Gene`; let age:number=37; let sentence:string=`Hello

1、typescript - 基础类型

1.布尔值 最基本的数据类型就是简单的true/false值,在JavaScript和TypeScript里叫做boolean(其它语言中也一样). let isDone: boolean = false; 2.数字 和JavaScript一样,TypeScript里的所有数字都是浮点数. 这些浮点数的类型是 number. 除了支持十进制和十六进制字面量,TypeScript还支持ECMAScript 2015中引入的二进制和八进制字面量. let decLiteral: number = 6

Typescript #2 类型概览

原始类型 Javascript原始类型也同样适用于 TypeScript的类型系统.因此,string, number,boolean也可以被用作类型注解: let num: number; let str: string; let bool: boolean; num = 123; num = 123.45; num = '123'; //Type '"123"' is not assignable to type 'number' str = '123'; str = 123; /

TypeScript入门 - 类型定义、函数、枚举、接口

可定义的类型 undefined : undefined: number : 数值类型: string : 字符串类型: boolean : 布尔类型: enum :枚举类型: any : 任意类型: void :空类型: Array : 数组类型: Date : 日期: RegExp : 正则: null :空类型: 类型定义 1.单类型定义 let str:string = 'hello' 2.多类型定义 let money:string|number = '100' //或 let mon

TypeScript高级类型

交叉类型(Intersection Types) 交叉类型是将多个类型合并为一个类型. 这让我们可以把现有的多种类型叠加到一起成为一种类型,它包含了所需的所有类型的特性. 例如,Person & Serializable & Loggable同时是Person和Serializable和Loggable. 就是说这个类型的对象同时拥有了这三种类型的成员. 我们大多是在混入(mixins)或其它不适合典型面向对象模型的地方看到交叉类型的使用. (在JavaScript里发生这种情况的场合很多