一、基本数据类型
-
布尔值
let isDone: boolean = false
-
数字
let num: number = 1
-
字符串
let name: string = 's'
-
数组
// 第一种:可以在元素类型后面接上[],表示由此类型元素组成的一个数组 let list: number[] = [1,2,3] // 第二种方式是使用数组泛型 let list: Array<number> = [1,2,3]
-
元组(Tuple)
元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。比如,你可以定义一对值为
string
和number
类型的元组let x: [string, number] = ['value', 10]
-
枚举
enmu
类型是对JavaScript标准数据类型的一个补充。enum Color {Red, Green, Blue} let c: Color = Color.Green; console.log(c) // 1
默认情况下,从
0
开始编号,也可以手动指定成员的数值。例如,我们将上面的例子改成为从1
开始编号:enum Color {Red = 1, Green, Blue} let c: Color = Color.Green console.log(c) // 2
或者,全部手动赋值:
enum Color {Red = 1, Green = 2, Blue = 4} let c: Color = Color.Green;
枚举属性提供了一个便利,可以由枚举的值得到它的名字
enmu Color {Red = 1, Green, Blue} let colorName: string = Color[2] console.log(colorName) // 'Green'
-
任意值
let notsure: any = 4
-
空值
某种程度上来说,
void
类型像是与any
类型相反,它表示没有任何类型,当一个函数没有返回值时,你通常会见到其返回值类型是void
function warn(): void { console.log(123) }
声明一个
void
类型的变量没有什么大用,因为你只能赋予它undefined
和null
-
undefined 和 null
Typescript里,
undefined
和null
两者各自有自己的类型,分别叫做undefined
和null
。和void
相似,他们本身的类型用处不大let u: undefined = undefined; let n: null = null;
-
Never
never
类型表示的时那些用不存在的值的类型。// 返回nerver的函数必须存在无法到达的终点 function error(message: string): newver { throw new Error(message) }
-
类型断言
类型断言有两种方式,其一是’尖括号’语法:
let someValue: any = "this is a string"; let stringlength: number = (<string>someValue).length
另一个为
as
语法:let someValue: any = "this is a string" let someValueLength: number = (someValue as string).length
两种形式是等价的。但是在TYpescript里使用JSX时,只有
as
语法断言是被允许的。