TypeScript入門-基本數(shù)據(jù)類型
大致介紹
TypeScript是由C#語言之父Anders Hejlsberg主導(dǎo)開發(fā)的一門編程語言,TypeScript本質(zhì)上是向JavaScript語言添加了可選的靜態(tài)類型和基于類的面向?qū)ο缶幊蹋喈?dāng)于是JavaScript的超集
ES5、ES6和TypeScript的關(guān)系:

安裝
首先需要安裝npm,然后在輸入
npm install -g typescript
安裝完成后,因?yàn)門ypeScript是以.ts結(jié)尾的,要想運(yùn)行就得把他編譯js文件,編譯的方法特別簡(jiǎn)單就是使用tsc命令
tsc hello.ts
通常在項(xiàng)目中ts文件比較多的情況下,我們需要自己配置tsconfig.json文件,以便能更好的編譯ts文件,配置tsconfig.json文件不難,這里就不贅述,可以自行百度
基本類型
在TypeScript中有以下基本數(shù)據(jù)類型
• 布爾類型(boolean)
• 數(shù)字類型(number)
• 字符串類型(string)
• 數(shù)組類型(array)
• 元組類型(tuple)
• 枚舉類型(enum)
• 任意值類型(any)
• null和undefined
• void類型
• never類型
布爾類型(boolean)
布爾類型是最簡(jiǎn)單的數(shù)據(jù)類型,只有true和false兩種值
注意:布爾類型是不能賦予其他值的
let flag: boolean = true; flag = 1; //報(bào)錯(cuò)
數(shù)字類型(number)
和JavaScript一樣,TypeScript數(shù)字都是浮點(diǎn)型,也支持二進(jìn)制、八進(jìn)制、十進(jìn)制和十六進(jìn)制
let decLiteral: number = 6; let hexLiteral: number = 0xf00d; let binaryLiteral: number = 0b1010; let octalLiteral: number = 0o744;
字符串類型(string)
可以用單引號(hào)(')和雙引號(hào)(")來表示字符串類型,除此之外還支持使用模板字符串反引號(hào)(`)來定義多行文本和內(nèi)嵌表達(dá)式。使用${ expr }的形式嵌入變量或表達(dá)式
let name: string = 'Angular';
let years: string = 7;
let words: string = `今年是 ${ name } 發(fā)布 ${ years } 周年`;
數(shù)組類型(array)
TypeScript數(shù)組的操作類似于JavaScript中數(shù)組的操作,TypeScript建議開發(fā)者最好只為數(shù)組元素賦一種類型的值,定義數(shù)組有兩種方式
1、在元素類型后面加上[]
let arr: number[] = [2,3];
2、使用數(shù)組泛型
let arr: Array<number> = [2,3];
元組類型(tuple)
元組類型用來表示已知數(shù)量和類型的數(shù)組,各元素的類型不必相同
let x: [string,number]; x = ['Angular',5]; //正確 x = [5,'Angular']; //報(bào)錯(cuò)
枚舉類型(enum)
枚舉是一個(gè)可被命名的整型常數(shù)的集合,枚舉類型為集合成員賦予有意義的名稱增強(qiáng)可讀性
enum Color {red,green,blue};
let c: Color = Color.blue;
console.log(c); //2
枚舉默認(rèn)下標(biāo)是0,也可以手動(dòng)修改
enum Color {red = 2,green = 3,blue = 6};
let c: Color = Color.blue;
console.log(c); //6
任意值類型(any)
任意值是TypeScript針對(duì)編程時(shí)類型不明確的變量使用的一種數(shù)據(jù)類型,常用于以下三種類型
1、值可能來自于動(dòng)態(tài)的內(nèi)容,比如來自用戶輸入或第三方代碼庫(kù)。 這種情況下,我們不希望類型檢查器對(duì)這些值進(jìn)行檢查而是直接讓它們通過編譯階段的檢查。
let x: any = 1; x = 'I am a string'; x = false;
2、允許你在編譯時(shí)可選擇地包含或移除類型檢查
let x: any = 4; x.toFixed(); //正確,并不檢查是否存在
3、定義儲(chǔ)存各種類型數(shù)據(jù)的數(shù)組時(shí)
let arrarList: any[] = [1,'qwe',true];
null和undefined
默認(rèn)情況下null和undefined是所有類型的子類型。 就是說你可以把null和undefined賦值給number類型的變量。
然而,如果啟用--strictNullChecks,就可以使得null和undefined只能被賦值給void或本身對(duì)應(yīng)的類型
let x: number; x = 1; x = null; //正確 啟用 --strictNullChecks let y: number; y = 1; y = null; //錯(cuò)誤
void類型
使用void表示沒有任何類型,例如一個(gè)函數(shù)沒有返回值,意味著返回void
function hello(): void{
alert('hello Angular');
}
never類型
never是其他類型(包括null和undefined)的子類型,代表從不會(huì)出現(xiàn)的值,這意味著聲明為never類型的變量只能被never類型所賦值,在函數(shù)中通常表示為拋出異?;驘o法執(zhí)行到終止點(diǎn)
let x: never; let y: number; //報(bào)錯(cuò) x = 123; //正確 y = x;
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
javascript圖像處理—邊緣梯度計(jì)算函數(shù)
上一篇文章,我們講解了圖像處理中的膨脹和腐蝕函數(shù),這篇文章將做邊緣梯度計(jì)算函數(shù),感興趣的朋友可以了解下2013-01-01
js 賦值包含單引號(hào)雙引號(hào)問題的解決方法
這篇文章主要介紹了js賦值包含單引號(hào)雙引號(hào)問題的解決方法,需要的朋友可以參考下2014-02-02
BootStrap Table后臺(tái)分頁(yè)時(shí)前臺(tái)刪除最后一頁(yè)所有數(shù)據(jù)refresh刷新后無數(shù)據(jù)問題
這篇文章主要介紹了BootStrap Table后臺(tái)分頁(yè)時(shí)前臺(tái)刪除最后一頁(yè)所有數(shù)據(jù)refresh刷新后無數(shù)據(jù)問題,需要的朋友可以參考下2016-12-12
基于JavaScript實(shí)現(xiàn)新年賀卡特效
本文介紹了一款超級(jí)炫酷的2022新年快樂html網(wǎng)頁(yè)特效,霓虹的城市夜景和絢爛的煙花很是特別,該html頁(yè)面還有交互效果,點(diǎn)擊鼠標(biāo)就會(huì)呈現(xiàn)煙花綻放的特效。需要的可以參考一下2022-01-01
原生js 封裝get ,post, delete 請(qǐng)求的實(shí)例
下面小編就為大家?guī)硪黄鷍s 封裝get ,post, delete 請(qǐng)求的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08

