TypeScript入門-基本數據類型


▓▓▓▓▓▓ 大致介紹

  TypeScript是由C#語言之父Anders Hejlsberg主導開發的一門編程語言,TypeScript本質上是向JavaScript語言添加了可選的靜態類型和基於類的面向對象編程,它相當於是JavaScript的超集

  ES5、ES6和TypeScript的關系:

 

▓▓▓▓▓▓ 安裝

  首先需要安裝npm,然后在輸入

npm install -g typescript

  

  安裝完成后,因為TypeScript是以.ts結尾的,要想運行就得把他編譯js文件,編譯的方法特別簡單就是使用tsc命令

tsc hello.ts

 

  通常在項目中ts文件比較多的情況下,我們需要自己配置tsconfig.json文件,以便能更好的編譯ts文件,配置tsconfig.json文件不難,這里就不贅述,可以自行百度

 

▓▓▓▓▓▓ 基本類型

  在TypeScript中有以下基本數據類型

  • 布爾類型(boolean)

  • 數字類型(number)

  • 字符串類型(string)

  • 數組類型(array)

  • 元組類型(tuple)

  • 枚舉類型(enum)

  • 任意值類型(any)

  • null和undefined

  • void類型

  • never類型

 

▓▓▓▓▓▓ 布爾類型(boolean)

  布爾類型是最簡單的數據類型,只有true和false兩種值

  注意:布爾類型是不能賦予其他值的

let flag: boolean = true;
flag = 1; //報錯

 

▓▓▓▓▓▓ 數字類型(number)

  和JavaScript一樣,TypeScript數字都是浮點型,也支持二進制、八進制、十進制和十六進制

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

 

▓▓▓▓▓▓ 字符串類型(string)

  可以用單引號(')和雙引號(")來表示字符串類型,除此之外還支持使用模板字符串反引號(`)來定義多行文本和內嵌表達式。使用${ expr }的形式嵌入變量或表達式

let name: string = 'Angular';
let years: string = 7;
let words: string = `今年是 ${ name } 發布 ${ years } 周年`;

 

▓▓▓▓▓▓ 數組類型(array)

  TypeScript數組的操作類似於JavaScript中數組的操作,TypeScript建議開發者最好只為數組元素賦一種類型的值,定義數組有兩種方式

    1、在元素類型后面加上[]

let arr: number[] = [2,3];

 

    2、使用數組泛型

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

 

▓▓▓▓▓▓ 元組類型(tuple)

  元組類型用來表示已知數量和類型的數組,各元素的類型不必相同

let x: [string,number];
x = ['Angular',5]; //正確
x = [5,'Angular']; //報錯

 

▓▓▓▓▓▓ 枚舉類型(enum)

  枚舉是一個可被命名的整型常數的集合,枚舉類型為集合成員賦予有意義的名稱增強可讀性

enum Color {red,green,blue};
let c: Color = Color.blue;
console.log(c); //2

 

  枚舉默認下標是0,也可以手動修改

enum Color {red = 2,green = 3,blue = 6};
let c: Color = Color.blue;
console.log(c); //6

 

▓▓▓▓▓▓ 任意值類型(any)

  任意值是TypeScript針對編程時類型不明確的變量使用的一種數據類型,常用於以下三種類型

    1、值可能來自於動態的內容,比如來自用戶輸入或第三方代碼庫。 這種情況下,我們不希望類型檢查器對這些值進行檢查而是直接讓它們通過編譯階段的檢查。 

let x: any = 1;
x = 'I am a string';
x = false;

 

    2、允許你在編譯時可選擇地包含或移除類型檢查

let x: any = 4;
x.toFixed(); //正確,並不檢查是否存在

 

    3、定義儲存各種類型數據的數組時

let arrarList: any[] = [1,'qwe',true];

 

▓▓▓▓▓▓ null和undefined

  默認情況下null和undefined是所有類型的子類型。 就是說你可以把null和undefined賦值給number類型的變量。

  然而,如果啟用--strictNullChecks,就可以使得null和undefined只能被賦值給void或本身對應的類型

let x: number;
x = 1;
x = null; //正確

啟用 --strictNullChecks
let y: number;
y = 1;
y = null; //錯誤

 

▓▓▓▓▓▓ void類型

  使用void表示沒有任何類型,例如一個函數沒有返回值,意味着返回void

function hello(): void{
    alert('hello Angular');
}

 

▓▓▓▓▓▓ never類型

  never是其他類型(包括null和undefined)的子類型,代表從不會出現的值,這意味着聲明為never類型的變量只能被never類型所賦值,在函數中通常表示為拋出異常或無法執行到終止點

let x: never;
let y: number;

//報錯
x = 123;

//正確
y = x;

 

 

參考資料:

   揭秘Angular2第3章 

   TypeScript Handbook(中文版)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM