1. 程式人生 > 其它 >typescript 型別及使用

typescript 型別及使用

技術標籤:typescripttypescript型別

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

void型別

never型別