上一章節(jié),我們介紹了什么是TS,以及TS的應(yīng)用場景。本章節(jié)將給大家介紹,在TypeScript 中,常用的數(shù)據(jù)類型聲明,有我們熟悉的 基本數(shù)據(jù)類型,也有,一些TypeScript 新增的一些,語法規(guī)范類型。出發(fā)吧…
基本數(shù)據(jù)類型
1.number類型
let variable: number = 123 //為變量 指明 類型,后續(xù),如果要對此變量 從新賦值,則賦值數(shù)據(jù)類型只能為聲明時的類型。
variable = 789
console.log(variable);
let a: number = 10; //十進(jìn)制
//下面這些賦值也屬于 number
a = 0b1010; //二進(jìn)制
a = 0o12; //八進(jìn)制
a = 0xa; //十六進(jìn)制
a = NaN;
a = Infinity;
2.String 類型
let variable: string = "字符串"
variable = "前端開發(fā)"
console.log(variable);
3. Boolean 類型
let variable: Boolean = false;
variable = true
console.log(variable);
函數(shù):同樣的,也可以給函數(shù)限制 接受形參的類型和,限制返回值的數(shù)據(jù)類型
function num(a: number, b: number): number {
return a + b
}
let type = num(12, 123)
console.log(type);
小提示
:如果 聲明變量和賦值同時進(jìn)行,TS可以自動進(jìn)行類型判斷,以你給他的初始數(shù)據(jù)類型為,變量數(shù)據(jù)類型。
4. undefined 類型
let u: undefined = undefined
5.Null類型
let n: null = null
undefined 和 null ,還可以作為其他類型的子類型,把 undefined 和null 賦值給其他類型的子類型。如:
let u: number = undefined
let s: string= undefined
注意:實際開發(fā)中,undefined 和 null 兩種類型,使用場景并不多
6.Symbol類型
let s: symbol = Symbol(789456)
7.BigInt類型
let b: bigint = BigInt(4586541531351356);
引用數(shù)據(jù)類型
8.Array 類型
let arr:string[]
arr=["張三","李四"]
let arr: number[]
arr = [1, 2]
//泛型寫法
let arr: Array<number>
9.Object 類型
object
表示非原始數(shù)據(jù)類型。除了 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 新增特性數(shù)據(jù)類型
4.聯(lián)合類型
let variable: string | number
variable = 123
variable = "asdfassf"
variable = false //XXXXXX.這里不能賦值為 Boolean 值,因為聲明變量時,指定了類型范圍
5.字面量類型
let variable: "男" | "女"
variable = "男"
variable = "女"
variable = "你好呀" //XXXXXX 這里也會報錯,因為聲明時,也指定了,賦值范圍,只能為 “男”或“女” 的字符串
6.Any 類型
any 相當(dāng)于就是TS 關(guān)閉了數(shù)據(jù)類型檢查,可以賦值任意類型
,但是TS 中,不建議使用。
let variable: any
variable = 123
variable = "字符串"
variable = false
variable = {}
type name = "vue" | "react"
let a: name = "react"; //a 只能是字面量值中的其中一個
警告:當(dāng)any 類型的變量,當(dāng)成參數(shù)賦值給其他類型變量的時候,如果,兩個變量類型不匹配,也不會報錯,會埋下安全隱患!
let variable: any
variable = 123
let str: string
str = variable
console.log(str); //不會報錯
7.unknown 類型
unknown 類型和any 同理,只是會在,兩個變量互相賦值的時候,會做類型校驗,相當(dāng)于是any 的 安全鎖
8.Void 類型
void 類型多用于函數(shù)
,,表示沒有任何返回值的函數(shù)
,只要有返回值,就會報錯
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 } //定義參數(shù)時,在后面加上 ? 代表這是非必要參數(shù),賦值時,可以不用傳
obj = { name: "張三" }
let obj: { name: string, [key: string]: any }
obj = { name: "張三", age: 123 } //這樣定義代表,除name, 必須要 賦值外,其他的,任意key的值,也可以是 任意 類型。
//定義函數(shù)結(jié)構(gòu) 類型
let fn: (a: number, b: number) => number
12 tuple (元組)
let arr: [number, string] // 固定長度的數(shù)組,
//給數(shù)組賦值的的時候,類型的位置以及參數(shù)的個數(shù)要一一對應(yīng)
arr = [123, "字符串"]
arr.push(123) //但是當(dāng)調(diào)用數(shù)組身上的方法,進(jìn)行動態(tài)傳值的時候,不用限制特定的類型順序和長度,
arr.push("字符串") //只需要遵循,所添加的值類型必須為元組中所定義的。,因為在使用方法添加數(shù)據(jù)的時候,會把我們的定義為聯(lián)合類型,從而規(guī)避類型檢查。
13.enum (枚舉)
enum num { //創(chuàng)建一個枚舉
names = "張三",
age = 123
}
let template: { name: num, age: num }
template = { name: num.names, age: num.age }
console.log(template);
總結(jié):
本章節(jié)主要介紹了在 TypeScript 中,開啟強(qiáng)制數(shù)據(jù)類型時的一些使用語法,,強(qiáng)制數(shù)據(jù)類型,也是TS 的初始概念,
,本章節(jié)主要就介紹這么多了。下一章節(jié)我們將繼續(xù)探索 TS的更多語法特性。文章來源:http://www.zghlxwxcb.cn/news/detail-600496.html
???♂? 博主座右銘:向陽而生,我還在路上!
——————————————————————————————
??博主想說:將持續(xù)性為社區(qū)輸出自己的資源,同時也見證自己的進(jìn)步!
——————————————————————————————
???♂? 如果都看到這了,博主希望留下你的足跡!【??收藏!??點贊!??評論!】
——————————————————————————————文章來源地址http://www.zghlxwxcb.cn/news/detail-600496.html
到了這里,關(guān)于TypeScript 中的常用類型聲明大全的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!