【TypeScript】TypeScript 学习 1——基本类型

TypeScript 是 JavaScript 的超集,TypeScript 经过编译之后都会生成 JavaScript 代码。TypeScript 最大的特点就是类型化,因此才叫做 TypeScript。比起弱类型的 JavaScript,类型化的 TypeScript 显得更加容易维护。

在 TypeScript 中一共有 7 种基本类型。

1、boolean

var isDone: boolean = false;

2、number

代表 JavaScript 中的数字。在 JavaScript 中,无论是“整数”还是“浮点数”,都是以双精度浮点类型存储的。

var height: number = 6;

3、string

代表字符串。跟 JavaScript 一样,可以使用一对双引号(")或一对单引号(‘)来表示字符串。

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

4、array

TypeScript 中有两种数组声明方法。

①使用“[]”来声明:

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

②使用数组类型来声明:

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

两种声明方式都可以使用,效果并不会有区别。但建议代码中应尽量只使用其中一种,以保持代码风格统一。

5、enum

枚举类型是 TypeScript 中新添加的,而 JavaScript 中是没有这个类型的。

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

跟 C# 一样,如果不声明第一项的值,那么上面 Red 的值就是 0,然后每一项都增加一,即 Green 是 1,Blue 是 2。

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

所以此时 Red 的值为 1,Green 为 2,Blue 为 3。

当然也可以为每一项都指定一个值。

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

另外枚举类型还有一个比较特殊的功能,假如我们有一个数值,但是我们不知道枚举类型中是否有定义,可以用以下方式来获取:

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

那么将会输出 Green 和 undefined。因为 Green 的值是 2,而没有一个枚举定义的值是 4,所以返回 undefined。

6、any

和 JavaScript 中变量的默认类型一样,指代是动态的,能够赋予任意类型。例如:

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;

7、void

这个类型仅能在函数中使用,可以将函数的返回类型指定为 void,表示该函数不返回任何值。

function warnUser(): void {
    alert("This is my warning message");
}
时间: 2024-08-06 08:10:59

【TypeScript】TypeScript 学习 1——基本类型的相关文章

typescript handbook 学习笔记4

概述 这是我学习typescript的笔记.写这个笔记的原因主要有2个,一个是熟悉相关的写法:另一个是理清其中一些晦涩的东西.供以后开发时参考,相信对其他人也有用. 学习typescript建议直接看中文文档或英文文档.我是看的英文文档. typescript handbook 学习笔记3 类 基本使用 class Greeter { //只读,必须在声明的时候或者constructor里面初始化 readonly greeting: string; //constructor里面的只读 con

typeScript基础学习

关于 TypeScript TypeScript 是 JavaScript 的一个超集,主要提供了类型系统和对 ES6 的支持,它由 Microsoft 开发,代码开源于 GitHub 上. 什么是 TypeScript TypeScript 是 JavaScript 的类型的超集,它可以编译成纯 JavaScript.编译出来的 JavaScript 可以运行在任何浏览器上.TypeScript 编译工具可以运行在任何服务器和任何系统上.TypeScript 是开源的. 安装 TypeScri

Swift编程语言学习1.5——类型别名、布尔值、元组

类型别名 类型别名(type aliases)就是给现有类型定义另一个名字.你可以使用typealias关键字来定义类型别名. 当你想要给现有类型起一个更有意义的名字时,类型别名非常有用.假设你正在处理特定长度的外部资源的数据: typealias AudioSample = UInt16 定义了一个类型别名之后,你可以在任何使用原始名的地方使用别名: var maxAmplitudeFound = AudioSample.min // maxAmplitudeFound 现在是 0 本例中,A

C# in Depth Third Edition 学习笔记-- 值类型和引用

I. C#中值类型和引用类型 1. 类class 引用类型,结构struct值类型 2. 数组是引用类型,即使元素是值类型,int[]是引用类型 3. 枚举是值类型enum 4. 委托类型delegate是引用类型 5. 接口类型interface是引用类型,但可以由值类型实现. II. 值的表达式:表达式“2+3”的值就是5:而对于引用类型的表达式,它的值是一个引用,而不是该引用所指代的对象,如String.Empty的值不是一个空字符串,而是对空字符串的一个引用. III. 变量的值在它声明

MySql学习之 bit类型的查询和删除

今天项目从SqlServer转移到了MySql,转移过程中发现了一些问题,以前没遇到过,在网上查了查,总算是解决了,但是问题的根源还弄明白,暂且记录下来: 首先有个tb_paymentmethod表,表中有几条数据如下: DAO层获取Model时这样: if (row["IsDefault"] != null && row["IsDefault"].ToString().Trim() != "") { model.IsDefaul

【C语言学习】存储类型

C语言中的存储类型主要有四种:auto.static.extern.register ★auto存储类型 默认的存储类型.在C语言中,如果忽略了变量的存储类型,那么编译器就会自动默认为auto型 ★register存储类型 寄存器变量.寄存器位于CPU,它的特点是:容量小.速度快.它一般用来暂存程序中使用频繁的变量.或者一些中间变量等,能提高程序的执行速度.此类别的变量会优先分配寄存器. ★static存储类型 static定义的变量都是静态变量,用于限制作用域,无论是全局变量还是局部变量都存储

Swift编程语言学习——类型安全和类型推测

Swift 是一种类型安全(type safe )的语言.类型安全的语言可以让你清楚地知道代码要处理的值的类型.如果你的代码需要一个String,你绝对不可能不小心传进去一个Int. 由于 Swift 是类型安全的,所以它会在编译你的代码时进行类型检查(type checks),并把不匹配的类型标记为错误.这可以让你在开发的时候尽早发现并修复错误. 当你要处理不同类型的值时,类型检查可以帮你避免错误.然而,这并不是说你每次声明常量和变量的时候都需要显式指定类型.如果你没有显式指定类型,Swift

学习Scala02 基本类型

scala中有9大基本类型: Byte .Short .Int .Long. Char .String .Float. Double .Boolean 与java的基本类型看起来基本是一致的,但实际上除了String,其他的所有的类型,都是使用scala包下的成员.scala虽然是强类型的语言,但是通过强大的类型推倒,scala基本不需要刻意地去指定类型. 变量 scala通过 val或者var来定义值和变量,val定义的值是不可变的,而var定义的变量是可变的.比如: val a=0 val

[TypeScript] TypeScript对象转JSON字符串范例

[TypeScript] TypeScript对象转JSON字符串范例 Playground http://tinyurl.com/njbrnrv Samples class DataTable { public columns: Array<string> = new Array<string>(); public rows: Array<DataRow> = new Array<DataRow>(); } class DataRow { public c

我的游戏学习日志15——类型游戏的分析(3)

我的游戏学习日志15——类型游戏的分析(3) 5.第一视角射击游戏(FPS)的分析 Fist-Person Shooter,属于ACT的一种.大多支持玩家在三维空间中的移动和交互,具有较高的临场感. 游戏原型:Quake(<雷神之锤>1996),是世界上第一款真正采用多边形渲染技术的3D游戏.其主要的强大是其拟真的场景和无缝的界面造成了Quake逼真的场景以及出色的竞赛模式. 核心元素:①网络对战②游戏规则(死亡竞赛)③武器设定(设定平衡)④环境设计⑤源码开放. 总结:Quake的游戏性:沉浸