首页 前端知识 TypeScript 中的常用类型声明大全

TypeScript 中的常用类型声明大全

2024-05-06 09:05:41 前端知识 前端哥 197 831 我要收藏

文章目录

  • 基本数据类型
    • 1.number类型
    • 2.String 类型
    • 3. Boolean 类型
    • 4. undefined 类型
    • 5.Null类型
    • 6.Symbol类型
    • 7.BigInt类型
  • 引用数据类型
    • 8.Array 类型
    • 9.Object 类型
  • TS 新增特性数据类型
    • 4.联合类型
    • 5.字面量类型
    • 6.Any 类型
    • 7.unknown 类型
    • 8.Void 类型
    • 9.never 类型
    • 10.对象类型
    • 12 tuple (元组)
    • 13.enum (枚举)

上一章节,我们介绍了什么是TS,以及TS的应用场景。本章节将给大家介绍,在TypeScript 中,常用的数据类型声明,有我们熟悉的 基本数据类型,也有,一些TypeScript 新增的一些,语法规范类型。出发吧…

![在这里插入图片描述](https://img-blog.csdnimg.cn/169f1bc10de245c8908e4a3252489449.png

基本数据类型

1.number类型

let variable: number = 123   //为变量 指明 类型,后续,如果要对此变量 从新赋值,则赋值数据类型只能为声明时的类型。
variable = 789
console.log(variable);


let a: number = 10; //十进制
//下面这些赋值也属于 number
a = 0b1010; //二进制
a = 0o12;  //八进制 
a = 0xa;   //十六进制
a = NaN;
a = Infinity;


2.String 类型

let variable: string = "字符串"
variable = "前端开发"
console.log(variable);

3. Boolean 类型

let variable: Boolean = false;
variable = true
console.log(variable);

函数:同样的,也可以给函数限制 接受形参的类型和,限制返回值的数据类型

function num(a: number, b: number): number {
    return a + b
}
let type = num(12, 123)
console.log(type);

小提示:如果 声明变量和赋值同时进行,TS可以自动进行类型判断,以你给他的初始数据类型为,变量数据类型。


4. undefined 类型

let u: undefined = undefined

5.Null类型

let n: null = null

undefined 和 null ,还可以作为其他类型的子类型,把 undefined 和null 赋值给其他类型的子类型。如:

let u: number = undefined
let s: string= undefined

注意:实际开发中,undefined 和 null 两种类型,使用场景并不多

6.Symbol类型

let s: symbol = Symbol(789456)

7.BigInt类型

let b: bigint = BigInt(4586541531351356);

在这里插入图片描述


引用数据类型

8.Array 类型

 let arr:string[]
 arr=["张三","李四"]
 
 let arr: number[]
 arr = [1, 2]
 
 //泛型写法
let arr: Array<number>

9.Object 类型

object 表示非原始数据类型。除了 number,string,boolean 类型之外的其他类型。

let obj: object = {}

//不支持 number,string,boolean 类型字面量直接赋值,但是可以 通过下面的 
//new 实例化,或者 直接赋值 类 定义
obj = null;
obj = undefined;
obj = []
obj = new Number();
obj = Number
obj = new String();
obj = String

TS 新增特性数据类型

4.联合类型

let variable: string | number
variable = 123
variable = "asdfassf"
variable = false         //XXXXXX.这里不能赋值为 Boolean  值,因为声明变量时,指定了类型范围

5.字面量类型

let variable: "男" | "女"
variable = "男"
variable = "女"
variable = "你好呀"        //XXXXXX  这里也会报错,因为声明时,也指定了,赋值范围,只能为  “男”或“女” 的字符串

6.Any 类型

any 相当于就是TS 关闭了数据类型检查,可以赋值任意类型,但是TS 中,不建议使用。

let variable: any

variable = 123
variable = "字符串"
variable = false
variable = {}

type name = "vue" | "react"

let a: name = "react"; //a 只能是字面量值中的其中一个

警告:当any 类型的变量,当成参数赋值给其他类型变量的时候,如果,两个变量类型不匹配,也不会报错,会埋下安全隐患!

let variable: any
variable = 123

let str: string
str = variable
console.log(str);   //不会报错

7.unknown 类型

unknown 类型和any 同理,只是会在,两个变量互相赋值的时候,会做类型校验,相当于是any 的 安全锁

8.Void 类型

void 类型多用于函数,,表示没有任何返回值的函数,只要有返回值,就会报错

function fn():void{
    return undefined
}
function fn():void{
    return 
}

9.never 类型

同 void ,表示完全没有返回值,连 undefined 都不能返回

function fn():never{
    throw new Error('终止')
}

10.对象类型

let obj: { name: string, }
obj = { name: "张三" }    //声明一个对象,给对象赋值的时候,有且只能有,name 定义好的字段,且类型必须相同

let obj: { name: string, age?: number }     //定义参数时,在后面加上 ?  代表这是非必要参数,赋值时,可以不用传
obj = { name: "张三" }



let obj: { name: string, [key: string]: any } 
obj = { name: "张三", age: 123 }        //这样定义代表,除name, 必须要 赋值外,其他的,任意key的值,也可以是 任意 类型。

//定义函数结构 类型
let fn: (a: number, b: number) => number

12 tuple (元组)

let arr: [number, string]  // 固定长度的数组,

//给数组赋值的的时候,类型的位置以及参数的个数要一一对应
arr = [123, "字符串"]         

arr.push(123)   //但是当调用数组身上的方法,进行动态传值的时候,不用限制特定的类型顺序和长度,
arr.push("字符串")   //只需要遵循,所添加的值类型必须为元组中所定义的。,因为在使用方法添加数据的时候,会把我们的定义为联合类型,从而规避类型检查。


13.enum (枚举)

enum num {   //创建一个枚举
    names = "张三",
    age = 123
}

let template: { name: num, age: num }

template = { name: num.names, age: num.age }

console.log(template);

总结:

本章节主要介绍了在 TypeScript 中,开启强制数据类型时的一些使用语法,,强制数据类型,也是TS 的初始概念,,本章节主要就介绍这么多了。下一章节我们将继续探索 TS的更多语法特性。


🚵‍♂️ 博主座右铭:向阳而生,我还在路上!
——————————————————————————————
🚴博主想说:将持续性为社区输出自己的资源,同时也见证自己的进步!
——————————————————————————————
🤼‍♂️ 如果都看到这了,博主希望留下你的足迹!【📂收藏!👍点赞!✍️评论!】
——————————————————————————————

转载请注明出处或者链接地址:https://www.qianduange.cn//article/7176.html
标签
评论
发布的文章

exceljs

2024-05-11 10:05:00

Java研学-JSON与AJAX

2024-05-10 22:05:37

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!