01-TypeScript 基礎型別
阿新 • • 發佈:2021-11-25
布林值 boolean true false
var flag:boolean=true
flag = false
數值型別 number
var num:number = 123
num = 2343
字串型別 string
var str:string = 'dsd'
str = 'dsdkh'
陣列型別 array
let arr:number[] = [21,212,1,877] let arr1:string[] = ['我I','dsd','dsdaaa'] let arr2:Array<number> = [234,565,232] let arr3:Array<string> = ['234','565','232']
元祖型別 tuple 屬於陣列的一種
let arr4:[string,number,boolean] = ['sd',23,false]
列舉型別 enum
enum Flag {
success=1,
error=-1,
primary
}
console.log(Flag.success);
任意型別 any
let tt2: any = 23232;
tt2 = 'dsds'
tt2 = null;
let list: any[] = [1, true, "free"];
null undefined
let u: undefined = undefined; let n: null = null;
void
function noReturn():void {
console.log("This is my warning message")
}
let unusable1: void = undefined;
console.log(unusable1);
never 型別 永不存在的值的型別
- never 型別是任何型別的子型別。沒有型別是 never 的子型別或可以賦值給never型別(除了never本身之外)
- 返回 never 的函式必須存在無法達到的終點
function error(message: string): never { throw new Error(message); } // 推斷的返回值型別為 never function fail() { return error("Something failed"); } // 返回 never 的函式必須存在無法達到的終點 function infiniteLoop(): never { while (true) { } }
object
declare function create(o: object | null | undefined): void;
create({'da':23})
create({})
create(null)
create(undefined)
型別斷言
- TypeScript 裡使用 JSX 時,只有 as 語法斷言是被允許的。
let someValue: any = "this is a string";
let strLength1: number = (<string>someValue).length;
let strLength2: number = (someValue as string).length;
console.log(strLength1);
console.log(strLength2);