# Day17 【牙起來】 七種基礎型別(Type) - Typescript ## 原始型別(primitive) 與`Javascript`一樣 `Typescript`也有七種長老級的 **原始型別(primitive)** 分別為 `bigint`、`boolean`、`null`、`number`、`string`、`symbol`、`undefined` 其他型別都是由這七種衍伸而來 這邊的7種是**排除了 物件`object` 與 函式`function`** 因為這兩類不算在原始型別(primitive)內 > 但在寫程式時,最常用到的就是 `number`、`string`、`boolean` 三種 > 分別為以下例子的`a`、`b`、`c` ### 若要知道型別為何 可以透過 `typeof` 來查出變數的型別 ### 寫在外面 - 變數(Variable) ```typescript= 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` 指定物件本身 ```typescript= 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) `:` 為 **標示著前面變數的型別** 如果要標示出型別 ```typescript= export class Test { a : number = 0; b : string = ''; c : boolean = false; } ``` > 雖說 `Typescript` 能夠推斷最基本的型別 > 所以可進行標註、也可以不標註 > > 會需要標註的原因 主要是**給人看**的 > 讓後序接手維護的人方便了解變數型態 > > 所以,除非是一眼就能明白的型別,否則能多標註出物件的型別是好事
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up