文章目录
- 基本数据类型
- 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 新增的一些,语法规范类型。出发吧…
基本数据类型
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的更多语法特性。
🚵♂️ 博主座右铭:向阳而生,我还在路上!
——————————————————————————————
🚴博主想说:将持续性为社区输出自己的资源,同时也见证自己的进步!
——————————————————————————————
🤼♂️ 如果都看到这了,博主希望留下你的足迹!【📂收藏!👍点赞!✍️评论!】
——————————————————————————————