資料型別:
number,string,boolean跟js類同
字面量
它就是值本身及值本身的型別
let a: 10
a = 10;
a = 125;
a = "123";
any表示任何型別,可以任意賦值
一個變數賦值為any后相當于對該變數關閉了ts的型別檢測
在使用ts時候不到萬不得已則不建議使用any
let c: any
c = 2
c = true
c = "2"
// 宣告一個變數如果不給他賦值則相當于隱式的給當前變數賦值成了any
let d;
d = 2
d = "2"
d = true
unknown表示未知的型別
let e:unknown
let s : string
// e = 10
// e = "10"
// e = true
// e = d
// s = e
// unknown實際上就是一個型別安全的any
// unknown型別的變數不能直接賦值給其他的變數
// 1. 可以通過對e變數型別的判斷進行賦值
e = 'hello';
if(typeof e === "string"){
s = e
}
2. 或者使用型別斷言
// 告訴編譯器e就是字符型別可以被s使用
s = e as string
// 當遇到一個型別不確定的變數時能不用any就不用any,推薦使用unkonwn
當把一個any型別的變數賦值給unknown之后也會變成any任意型別
但是unknown型別的變數直接賦值給別的變數則報錯不會影響到其他的變數
void代表函式沒有回傳值
function fn1():void{
//return null|undefined//不報錯
// return 1323等型別則報錯
}
never永遠不會有回傳值,沒有任何回傳值
使用場景:用于例外拋出,回傳報錯
// function err():never{
// throw new Error("報錯了!");
// }
// void和never的區別是:
// void有null或者undefined作為回傳值
// never是沒有任何回傳值
object表示一個js物件
一般不常用,因為js中一切皆為物件所以,object這個型別太廣泛不好限制
let a :object
a = {}
a = function (){}
{}用來指定物件中可以包含哪些屬性
// age?:number屬性名后加問號表示屬性是可選的,有也可以沒有也可以
let b: {name:string,age?:number}
b = {name:"孫悟空",age:22}
[propName:string]: any表示任意型別的屬性
// [propName:string]: string表示任意型別的字串屬性
let c: {name:string,[propName:string]: string}
c = {name:"豬八戒",sex:"555",job:"4656"}
Array
array的型別宣告方式:型別:[],Array<型別>
// string[]表示字串陣列
let d: string[]
d =["1323","住宿等我","dwad"]
// number[]表示數字陣列
let f: number[]
f = [1,2,3,6,54]
// 可以指定未知的型別或者多個型別Array<unknown>/any
let g: Array<unknown>
g = ["wewe",122,true]
Tuple元組就是固定長度的陣列
// 語法:[型別,型別,型別]
let h: [string,string]
h = ["www",'www']
enum列舉
enum Gender{
boy=1,
girl=0
}
let i:{name:string,gender:Gender}
i = {
name:"小明",
gender:Gender.boy
}
console.log(i.gender===Gender.boy)
// 型別的別名
type myType = 1|2|3|4|5
let k: myType
let l: myType
let m: myType
k = 5//有則不報錯
// k = 6型別中無6則報錯
| &運算子
|可以用來連接多個型別{聯合型別}
let b:number|boolean
b = 2
b = true
&表示并且的意思
表示名字必須是字串年齡必須是數字型別
// let a: {name: string},{age:number}
函式
ts中可以根據函式內回傳值的型別來判斷函式的型別是什么
例子:游標移動到函式名上發現,此時的函式型別是boolean|number型別
// num的型別由于未指定所以是any
function fn(num){
if(num>0){
return true
}else{
return 123
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/301538.html
標籤:其他
上一篇:Vue 代碼如何進行除錯
下一篇:資料型別判斷的四種型別
