1. 程式人生 > 其它 >01-TypeScript 基礎型別

01-TypeScript 基礎型別

布林值 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);