TypeScript 哪几种类型类 简单易懂哦

179 阅读2分钟
<script lang="ts" setup>
// 数值类型number
let val1: number //定义了一个名称叫做val1的变量,这个变量中将来只能存储数值类型的数据
val1 = 123
console.log(val1)
// 布尔值boolean
let val2: boolean
val2 = true
console.log(val2)
// 字符串类型string
let val3: string
val3 = 'people'
console.log(val3)
// TypeScript数组与元祖
let arr1: Array<number> //表示定义一个名称叫arr1的数组,这个数组将来只能存储数值类型的数据
arr1 = [5, 2, 0]
console.log(arr1)
let arr2: Array<string>
arr2 = ['person', 'people']
console.log(arr2)
// 联合类型
let arr3: (number | string)[]
arr3 = [1, 'b', 2, 'c']
console.log(arr3)
// 任意类型
let arr4: any[] // 表示定义了一个名称叫做arr4的数组, 这个数组中将来可以存储任意类型的数据
arr4 = [1, 'b', true]
console.log(arr4)
// 元祖类型
let arr5: [string, number, boolean] // 表示定义了一个名称叫做arr5的元祖, 这个元祖中将来可以存储3个元素, 第一个元素必须是字符串类型, 第二个元素必须是数字类型, 第三个元素必须是布尔类型
arr5 = ['1', 1, false]
console.log(arr5)

// TypeScript 枚举类型
enum Gender {
  Male,
  Femal,
}
let val: Gender
val = Gender.Male
val = Gender.Femal
console.log(Gender.Male)
console.log(Gender.Femal)

// any-void类型
//any用来表示任意类型 当我们不清楚某个值的具体类型的时候我们就可以使用any类型
// 一般用来定义一些通用性比较强的变量,或者用来保存从其他框架获取的不确定类型的值
// 在TS中任何数据类型都可以用any来表示
let value: any
value = 1
value = '1'
value = true

//void类型
//void与any刚好相反  表示没有任何类型  ,一般用于函数返回值
//在TS中只有null和undefined可以赋值void类型
function test() {
  console.log('hello word')
}
test()

let value2: void
value = undefined

// Never-object类型
let obj: object //定义了一个只能保存对象的变量
obj = { name: 'hh', age: 18 }
console.log(obj)

// 类型断言
// 类型断言就是告诉编译器:你不要帮我检查了,相信我,我知道自己在什么
let str: any = 'it666'
let len = (str as string).length
console.log(len)