TS复习----数据类型

142 阅读2分钟

TS复习----数据类型

目录

[TOC]

布尔类型(boolean)

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' };