布尔值(Boolean), 数字(Number), 字符串(String)
let bool: boolean = false
let num: number = 1
let str: string = 'str'
数组(Array)
可以使用两种方法来定义数组,
一是在元素类型后面接上[],表示由此类元素组成的数组
- let arr: number[] = [1, 2, 3]
二是使用数组泛型- let arr: Array<number> = [1, 2, 3]
元组(Tuple)
元组类型是一个已知元素数量和类型的数组,各个元素的类型可以不同
- let tuple: [string, number]
- 赋值时得符合元组定义的类型
- 通过索引访问
- 当访问越界的元素时,会使用联合类型代替
Any
当我们在编写阶段还不清楚一个值得类型的时候,我们可以把它指定为any 通俗的来讲,它可以被认定为任意类型
Void
void类型可以看作是any的范反例,表示没有任何类型 如果声明一个类型为any,那么它的值只能是undefined或者null
Null和Undefined
null和undefined的值为它们本身 默认情况下null和undefined是所有类型的子类型,可以把他们赋给其它类型的变量
Never
never表示那些永不存在的值的类型 never是所有类型的子类型,但是没有任何类型是never的子类型,也就是说不会有任何类型(除了never)可以赋值给never,包括any
Object
object表示非原始类型 原始类型有number, string, boolean, symbol, null, undefined
类型断言
当有时侯我们比typescript更清楚值的详细类型的时候,我们就可以使用类型断言 类型断言有两种写法,第一种 尖括号语法
- let someValue: any = "this is a string"
- let strLength: number = (<string>someValue).length 第二种 as语法
- let someValue: any = "this is a string";
- let strLength: number = (someValue as string).length;