一、typescript 學(xué)習(xí)(基本類型)。

基本類型

  • 布爾類型(boolean)
  • 數(shù)字類型(number)
  • 字符串類型(string)
  • 數(shù)組類型(array)
  • 元組類型(tuple)
  • 枚舉類型(enum)
  • 任意值類型(any)
  • null 和 undefined
  • void 類型
  • never 類型
布爾類型

最基本的數(shù)據(jù)類型就是簡(jiǎn)單的true/false值,在JavaScript和TypeScript里叫做boolean(其它語(yǔ)言中也一樣)。

let flag:boolean=false
flag=1 //報(bào)錯(cuò)

不能將類型“1”分配給類型“boolean”。ts(2322)

數(shù)字型

和JavaScript一樣,TypeScript里的所有數(shù)字都是浮點(diǎn)數(shù)。 這些浮點(diǎn)數(shù)的類型是 number。

let decLiteral: number = 6;
let hexLiteral: number = 0xf00d;
let binaryLiteral: number = 0b1010;
let octalLiteral: number = 0o744;

字符串string

和JavaScript一樣,可以使用雙引號(hào)( ")或單引號(hào)(')表示字符串

let s_name: string = "bob";
s_name = "smith";
s_name=122 //報(bào)錯(cuò)let s_name: string,不能將類型“122”分配給類型“string”。ts(2322)

模版字符串,它可以定義多行文本和內(nèi)嵌表達(dá)式。 這種字符串是被反引號(hào)包圍( `),并且以${ expr }這種形式嵌入表達(dá)式

let name: string = `Gene`;
let age: number = 37;
let sentence: string = `Hello, my name is ${ name }.

I'll be ${ age + 1 } years old next month.`;

數(shù)組

TypeScript像JavaScript一樣可以操作數(shù)組元素。 有兩種方式可以定義數(shù)組。
第一種,可以在元素類型后面接上 [],表示由此類型元素組成的一個(gè)數(shù)組:

let list: number[] = [1, 2, 3];

第二種方式是使用數(shù)組泛型,Array<元素類型>:

let list: Array<number> = [1, 2, 3];

元組 Tuple

表示一個(gè)已知元素?cái)?shù)量和類型的數(shù)組,各元素的類型不必相同。 比如,你可以定義一對(duì)值分別為 string和number類型的元組。

// Declare a tuple type
let x: [string, number];
// Initialize it
x = ['hello', 10]; // OK
// Initialize it incorrectly
x = [10, 'hello']; // Error

枚舉類型

enum類型是對(duì)JavaScript標(biāo)準(zhǔn)數(shù)據(jù)類型的一個(gè)補(bǔ)充。

enum Color {Red, Green, Blue}
let c: Color = Color.Green;

任意值類型 any

不希望類型檢查器對(duì)這些值進(jìn)行檢查而是直接讓它們通過(guò)編譯階段的檢查。 那么我們可以使用 any類型來(lái)標(biāo)記這些變量:

Void

某種程度上來(lái)說(shuō),void類型像是與any類型相反,它表示沒(méi)有任何類型。 當(dāng)一個(gè)函數(shù)沒(méi)有返回值時(shí),你通常會(huì)見(jiàn)到其返回值類型是 void:

function warnUser(): void {
    console.log("This is my warning message");
}

Null 和 Undefined

undefined和null兩者各自有自己的類型分別叫做undefined和null。 和 void相似,它們的本身的類型用處不是很大:

// Not much else we can assign to these variables!
let u: undefined = undefined;
let n: null = null;

Never

never類型表示的是那些永不存在的值的類型。 例如, never類型是那些總是會(huì)拋出異?;蚋揪筒粫?huì)有返回值的函數(shù)表達(dá)式或箭頭函數(shù)表達(dá)式的返回值類型; 變量也可能是 never類型,當(dāng)它們被永不為真的類型保護(hù)所約束時(shí)。

Object

object表示非原始類型,也就是除number,string,boolean,symbol,null或undefined之外的類型。

let people:object={
    name:'e1'
}

類型斷言

通常這會(huì)發(fā)生在你清楚地知道一個(gè)實(shí)體具有比它現(xiàn)有類型更確切的類型。
類型斷言有兩種形式。 其一是“尖括號(hào)”語(yǔ)法:

let someValue: any = "this is a string";

let strLength: number = (<string>someValue).length;

另一個(gè)為as語(yǔ)法:

let someValue: any = "this is a string";

let strLength: number = (someValue as string).length;
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容