typescript 型別及使用
阿新 • • 發佈:2020-12-12
typescript型別
文章目錄
數字 number (自然數,浮點數,負數)
let number1: number = 111222;
console.log(number1)
number1 = 12.3
console.log(number1)
number1 = -5
console. log(number1)
// 已經定義為number就不能再將其賦值其它型別
number1 = 'dx';
字串型別 string
let str:string = "dx";
console.log(str)
//如果str定為字串,就只能為其賦值字串,賦值為number或其它型別會報錯
str = 1
陣列型別 array
// 空陣列
let array1: [] = [];
// number陣列 陣列的元素必須全為number型別,否則會報錯
let numberArray1: number[] = [1, 2, 3, 4, 5];
// numberArray1.push('dx')
numberArray1.push(2.4);
//字串陣列 陣列的元素必須全為字串型別,否則會報錯
let stringArray: string[] = ['x', 'y'];
//物件陣列 陣列的元素必須全為物件,每個物件都必須有a屬性,值為number
let objArray: {
a: number;
}[] = [{ a: 1 }];
元祖型別 tuple(用來規定陣列中每一個元素的型別)
// tuple元祖型別是陣列型別的一種 限制陣列的元素個數,
// 並且限制每一個元素的型別
let tupleArray: [string,number,object] = ['dx',3,{ }]
列舉型別 enum
// 列舉型別enum
enum Flag {
wait = '待支付',
success = '已支付',
error = '有內鬼,終止交易',
}
let EnumWait: Flag = Flag.wait;
console.log(EnumWait); //'待支付'
// 也可以直接一點
console.log(Flag.error);
// 不賦值的列舉,會預設賦值為陣列的下標
enum Enum1 {
a,
b,
c,
}
let Enum1Value: Enum1 = Enum1.a;
console.log(Enum1Value); // 0
console.log(Enum1.b); // 1
//不全賦值列舉型別
enum Enum2 {
a = 2,
b,
c,
}
let Enum2Value: Enum2 = Enum2.a;
console.log(Enum2Value); // 2
console.log(Enum2.b); // 3
// 會報錯的部分列舉, 不能不賦值列舉的型別,除非它上一個沒有被賦值或者賦值為number型別
// enum Enum3 {
// a = 'dx',
// b,
// c,
// }
// 不會報錯的部分列舉
enum Enum4 {
a = 1,
b,
c,
}
enum Enum5 {
a = 'dx',
b = 1,
c,
}
任意型別 any
// 任意型別 any, 不再受到型別的限制,想怎麼賦值就怎麼賦值
// 當你不知道某個變數的型別時,可以設定為any
let any1:any = 1
any1 = 'dx'
let any2:any = ''
any2 = 2
let any3:any = {}
let any4:any = function() {}
let any5:any = []
null 和 undefined
// undefined 型別 當你不知道某一個變數是否有值時,可以在聯合型別中使用undefined
let undefined1: number | undefined = 1;
undefined1 = undefined;
let undefined2: number | undefined = undefined;
// undefined的值只能賦值為undefined
// let undefined3: undefined = null 是不對的
// null型別
let null1:null = null
// null只能賦值為null
// let null2:null = undefined