TypeScript 是 JavaScript 语言的扩展,如它的名字一样,它给 JavaScript 语言增加了类型的判断,方便了代码的维护, JavaScript 有的 TypeScript 都有,但是最终运行的时候,TypeScript 代码要编译成 JavaScript 代码才能运行。
TypeScript 基础类型
数据类型 | 关键字 | 描述 |
任意类型 | any | 声明为 any 的变量可以赋予任意类型的值。 |
字类型 | number | 双精度 64 位浮点值。它可以用来表示整数和分数。
|
字符串类型 | string | 一个字符系列,使用单引号(')或双引号(")来表示字符串类型。反引号(`)来定义多行文本和内嵌表达式。
|
布尔类型 | boolean | 表示逻辑值:true 和 false。
|
数组类型 | 无 | 声明变量为数组。
|
元组 | 无 | 元组类型用来表示已知元素数量和类型的数组,各元素的类型不必相同,对应位置的类型需要相同。
|
枚举 | enum | 枚举类型用于定义数值集合。
|
void | void | 用于标识方法返回值的类型,表示该方法没有返回值。
|
null | null | 表示对象值缺失。 |
undefined | undefined | 用于初始化变量为一个未定义的值 |
never | never | never 是其它类型(包括 null 和 undefined)的子类型,代表从不会出现的值。 |
TypeScript 变量声明
规则:
变量名称可以包含数字和字母。
除了下划线 _ 和美元 $ 符号外,不能包含其他特殊字符,包括空格。
变量名不能以数字开头。
// var [变量名] : [类型] = 值;
var name: string = '小明';
// var [变量名] : [类型];声明变量的类型,但没有初始值,变量值会设置为 undefined
var name: string;
// var [变量名] = 值;声明变量并初始值,但不设置类型,该变量可以是任意类型
var name = '小明';
类型断言
类型断言可以用来手动指定一个值的类型,即允许变量从一种类型更改为另一种类型。
语法格式:
// <类型>值 或 值 as 类型
var str = '1'
var str2:number = <number> <any> str //str、str2 是 string 类型
类型推断
当类型没有给出时,TypeScript 编译器利用类型推断来推断类型。
如果由于缺乏声明而不能推断出类型,那么它的类型被视作默认的动态 any 类型。
var num = 2; // 类型推断为 number
num = "12"; // 编译错误