iT邦幫忙

2022 iThome 鐵人賽

DAY 17
0
Modern Web

Angular牙起來系列 第 17

# Day17 【牙起來】 基礎型別(Type) - Typescript

  • 分享至 

  • xImage
  •  

Day17 【牙起來】 基礎型別(Type) - Typescript

原始型別(primitive)

Javascript一樣
Typescript也有七種長老級的 原始型別(primitive)

分別為 bigintbooleannullnumberstringsymbolundefined

其他型別都是由這七種衍伸而來

這邊的7種是排除了 物件object 與 函式function
因為這兩類不算在原始型別(primitive)內

但在寫程式時,最常用到的就是 numberstringboolean 三種
分別為以下例子的abc

若要知道型別為何

可以透過 typeof 來查出變數的型別

寫在外面 - 變數(Variable)

let a = 0;
let b = '';
let c = false;
let d = {};
let e = [];
let f = () => {};

console.log(typeof a)  // number
console.log(typeof b)  // string  
console.log(typeof c)  // boolean 
console.log(typeof d)  // object  
console.log(typeof e)  // object  
console.log(typeof f)  // function

寫在物件內部 - 成員

如果寫在物件裡,就會變成成員(Member)
需要加 this 指定物件本身

export class TestClass {
    a = 0;
    b = '';
    c = false;
    d = {}
    e = []
    f = () => {}

    constructor() {
        console.log(typeof this.a)  // number
        console.log(typeof this.b)  // string
        console.log(typeof this.c)  // boolean
        console.log(typeof this.d)  // object
        console.log(typeof this.e)  // object
        console.log(typeof this.f)  // function
    }
}

let test = new TestClass;

冒號(colon) 標示型別

冒號(colon) :標示著前面變數的型別

如果要標示出型別

export class Test {
    a : number = 0;
    b : string = '';
    c : boolean = false;
}

雖說 Typescript 能夠推斷最基本的型別
所以可進行標註、也可以不標註

會需要標註的原因 主要是給人看
讓後序接手維護的人方便了解變數型態

所以,除非是一眼就能明白的型別,否則能多標註出物件的型別是好事


上一篇
# Day16 【牙起來】 成員、方法 - Typescript
下一篇
# Day18 【牙起來】 物件、陣列 - Typescript
系列文
Angular牙起來30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言