TypeScript(1) - 基本型別介紹

變數宣告方式

  1. 指定型別
    指定型別的宣告其實跟一般宣告方式差不多,只是在變數後面多了一個「:<要宣告的型別>」的指定,指定之後赴值一樣只能是同行別的值:
let name: string = 'moojing';
  1. 不指定型別
    Typescript裡宣告變數,可以不指定型別,那就會是類似Js的方法,:
let name = 'moojing';

型別不指定的話,TS會自動偵測赴與的值是什麼類型,但是如果再次赴與不同型別的值,編譯就會報錯:

name = 2 ; //Error: Type '2' is not assignable to type 'string'.

TypeScript的幾種型別

TypeScript 裡面的型別基本上跟JS原生的型別相同,只是因為型別系統的加入又多出了幾種型別,:

  • Any
  • String
  • Number
  • Boolean
  • Array
  • Object
  • Tuples
  • Enums
  • Void
  • Never

Any

Any型別顧名思義就是任何型別都可以放入這個變數,如果使用這個型別,基本上就跟原本Js可以隨意assign的使用方式ㄧ樣了。實務上不太建議使用Any,因為這樣就跟使用JS沒有兩樣了:

let anyType:any = 1234;
anyType='1234' //It's Okay.

String / Number / Boolean

這三種基本型別的宣告都很直觀,直接宣告即可:

 let myName:string = "Moojing"
 let myName:number = 123
 let myName:boolean = true

Array

Array的型別有兩種宣告方式:

 let array:Array<number> = [2,3,4]
  let array1:number[]=[4,5,6]

也可以宣告型別為any的Array:

 let array1:any[]=[4,5,6]

Tuples 元組

Tuples在數學上的意思是有限的序列組合,其實就是包含很多不同型別元素的陣列:

let address: [string,number] = ["Superstreet",31]

不過使用Tuples就要注意,元素類型的順序也要跟宣告的相同,以上面的例子來說,第一個元素就不能是數字,第二個元素也不能是字串。

Enum 列舉

Enum就是把所有可能的狀態列出來:

enum Color{
    Red,
    Green,
    Black
} 

Enum的宣告方式很像一般物件,但是元素的值預設是向陣列的index,0,1,2…


enum Color{
   Red,
   Green,
   Black
} 

let myColor:Color = Color.Green; 
console.log('myColor: ', myColor); //1

不過你也可以自己決定每個狀態對應的值:

enum Color{
   Red =100,
   Green=200,
   Black=300
} 
let myColor:Color = Color.Green; 
console.log('myColor: ', myColor); //200
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×