布尔 - Boolean
// 声明
let isBoolean: boolean = true
数字 - Number
// 十进制
let decimal: number = 6
// 十六进制
let hex: number = 0xf00d
// 二进制
let binary: number = 0b1010
// 八进制
let octal: number = 0o744
字符串
// 字符串
let name: string = 'joenix'
// 字符串模板
let sentence: string = `My name is ${name}`
数组
// 数组
let array: number[] = [1, 2, 3]
// 数组泛型
let array: Array<string|number> = ['a', 'b', 3, 4]
元祖 Tuple
// 声明
let x: [string, number, Array<number>]
// 赋值
x = ['hi', 10, [1, 2, 3]]
// 使用
x[2]
枚举
// 声明
enum Color {Red = 255, Green = 0, Blue = 0}
// 取值
let color: Color = Color.Red // 255
// 取名
let color: string = Color[255] // Red
任意值
// 普通声明
let notSure: any = 6
// 数组声明
let list: any[] = [1, true, 'yes']
空值
// 变量声明
let no: void = undefined // 只能赋值 undefined 或 null
// 函数声明
function empty(): void {
// 无 return 的函数
}
null 与 undefined
undefined可以赋值给void类型,null不可以
let u: undefined = undefined
let n: null = null
never
标记一个
无法抵达终点的类型
// 例一:抛出异常
function error(message: string): never {
throw new Error(message)
}
// 例二:死循环
function infiniteLoop(): never {
while (true) {
// 永无止境
}
}
断言
let value: any = 'This is an example.'
// 第一种写法:`<>`
let length: number = (<string>value).length
// 第二种写法:`as`
let length: number = (value as string).length