TS复习----数据类型
目录
[TOC]
TS 中也和 JS 一样,将所有的数据类型都分为“基本(原始)数据类型”和“引用数据类型”。
首先在 TS 中,创建变量时,var、let、const 还是和 JS 中的使用方式一样,但是,在声明变量时需要约束变量的数据类型
布尔类型(boolean)
布尔类型 true false
let flag: boolean = true
flag = false
数字类型(number)
不区分 整型,浮点型
let a: number = 123
a = 12.3
字符串类型(string)
let str: string = 'ts'
数组类型(array)
// 第一种方式,
let arr: number[] = [1, 2]//只能放数字
// 第二种方式
let arr2: Array<number> = [1, 2, 3]
元祖类型(tuple)数组的一种
let arr: [string, boolean, number] = ['a', true, 1]
枚举类型(enum)
1.枚举类型是ts为数不多的特有类型之一
枚举其实是将每一个可能出现的值一个个的列出来,定义在类型中,这个类型就是枚举类型
枚举允许开发者定义一组命名常量,常量可以是数字,字符串类型
// flag 1表示true -表示false
enum flag { success = 1, error = -1 }
let f: flag = flag.success //1
// enum Color { red, blue, pink }
// let c = Color.pink
// console.log(c); //索引值2
enum Color { red, blue = 5, pink }
let c = Color.pink
console.log(c); //6 如果pink没有值以上一个为标准
任意类型(any)
any 在 TS 中用来表示任意数据类型。通常,只有当值来自于一些动态的内容,我们在一开始确定不了值的类型,可以选择使用 any。其他情况下都不推荐使用 any:
如果在实际开发中,确实需要在数组中保存任意类型的数据,可以将数组的类型设置为 any:
const arr3: any[] = [1, 2, '3'];
null&&undefined(其他类型的子类型)
// 定义未赋值为undefined
let num: number | undefined //可以是数字也可以不赋值
console.log(num);
let num2: null
num2 = null
let num3: number | undefined | null
num3 = 123
void(没有任何数据类型)
void 在 TS 中用来表示没有任何数据类型。通常,当一个函数没有返回值的时候,我们会将返回值的类型设置为 void
function run(): void { }
// function run1(): undefined { } 错误
// function run2(): number { return 123 } 正确
never(其他类型)
包括null 和undefined的子类型代表不会出现的值,这意味着声明never的变量只能被never赋值
let a: undefined
a = undefined
let b: null
b = null
let c: never
c = (() => {
throw new Error('error')
})()
对象 object
我们在 TS 中定义对象时,需要定义出对象中有哪些属性,每一个属性的值是什么类型。
const student: { id: number, name: string } = { id: 1, name: 'Li' };