TypeScript學習筆記(二) - 基本類型星辰.Lee

本篇將簡單介紹TypeScript的幾種基本類型。

TypeScript基本類型有如下幾種:

Boolean

Number

String

Array

Tuple

Enum

Any

另外還有void類型,主要用于標識方法返回值的類型。

下面通過一些簡單的例子來展示這些類型的基本用法

 1 // Boolean 2 let isDone: boolean = false; 3 isDone = true; 4  5 // Number 6 let num: number = 1;        // 整數 7 num = 2.5;                  // 小數 8 num = 0xf00d;               // 十六進制 9 num = 0b0101;               // 二進制10 num = 0o123;                // 八進制11 12 // String13 let str: string = 'Hello world';14 let content: string = `${str} too`;                 // 使用表達式拼接字符串時,需要使用(`)符號將拼接內容包括起來15 16 // Array17 let numbers1: number[] = [1, 2];18 let numbers2: Array= [1, 2, 3];            // 另外一種定義數組類型的方式,與nunber[]等價19 20 // Tuple(元組類型)21 let t: [string, number] = ['No.', 1];22 t = ['This is No.', 2];                             // 值類型與定義的一致,編譯通過。23 //t = [2, 'This is No.'];                           // 值類型與定義的不一致,編譯失敗,提示錯誤。24 25 // Enum(枚舉)26 enum Operator1 { Add, Update, Delete, Select };27 let opt1: Operator1 = Operator1.Add;                // opt1的值為0。取枚舉項的默認值。28 29 enum Operator2 { Add = 1, Update, Delete, Select };30 let opt2: Operator2 = Operator2.Update;             // opt2的值為2。當某一項設置了值后,后續項的值都順次加1。31 let opt2Name: string = Operator2[2];                // opt2Name的值為Update。通過值索引可以得到枚舉項的名稱。

以上類型的聲明都是強類型聲明,也就是說對已經指定了明確類型的變量賦值另外類型的值時,某些IDE(VS 2015、VS Code和WebStorm)會在對應行顯示錯誤標識。同時在編譯時會提示編譯錯誤,類似效果如下:

另外,Any類型是一個特殊的類型。它表示當前對象的類型由具體的值的類型來確定,它可以適用于任何強類型。

1 // Any2 let obj: any = 'This is a string.';3 obj = 1;4 obj = [1, 2];5 obj = false;6 obj = {};7 obj = function () { return false; };

Any類型的值可以通過強制類型轉換將值轉換成目標類型

1 // 強制類型轉換2 let obj1: any = 'This is a string.';3 let len: number = (obj1).length;4 len = (obj1 as string).length;

將以上代碼進行編譯后將轉換成ES5標準的JavaScript源碼,如下

 1 // Boolean 2 var isDone = false; 3 isDone = true; 4 // Number 5 var num = 1;        // 整數 6 num = 2.5;          // 小數 7 num = 0xf00d;       // 十六進制 8 num = 5;            // 二進制 9 num = 83;           // 八進制10 // String11 var str = 'Hello world';12 var content = str + " too";                             // 使用表達式拼接字符串時,需要使用(`)符號將拼接內容包括起來13 // Array14 var numbers1 = [1, 2];15 var numbers2 = [1, 2, 3];                               // 另外一種定義數組類型的方式,與nunber[]等價16 // Tuple(元組類型)17 var t = ['No.', 1];18 t = ['This is No.', 2];                                 // 值類型與定義的一致,編譯通過。19 //t = [2, 'This is No.'];                               // 值類型與定義的不一致,編譯失敗,提示錯誤。20 // Enum(枚舉)21 var Operator1;22 (function (Operator1) {23     Operator1[Operator1["Add"] = 0] = "Add";24     Operator1[Operator1["Update"] = 1] = "Update";25     Operator1[Operator1["Delete"] = 2] = "Delete";26     Operator1[Operator1["Select"] = 3] = "Select";27 })(Operator1 || (Operator1 = {}));28 ;29 var opt1 = Operator1.Add;                               // opt1的值為0。取枚舉項的默認值。30 var Operator2;31 (function (Operator2) {32     Operator2[Operator2["Add"] = 1] = "Add";33     Operator2[Operator2["Update"] = 2] = "Update";34     Operator2[Operator2["Delete"] = 3] = "Delete";35     Operator2[Operator2["Select"] = 4] = "Select";36 })(Operator2 || (Operator2 = {}));37 ;38 var opt2 = Operator2.Update;                            // opt2的值為2。當某一項設置了值后,后續項的值都順次加1。39 var opt2Name = Operator2[2];                            // opt2Name的值為Update。通過值索引可以得到枚舉項的名稱。40 // Any41 var obj = 'This is a string.';42 obj = 1;43 obj = [1, 2];44 obj = false;45 obj = {};46 obj = function () { return false; };47 // 強制類型轉換48 var obj1 = 'This is a string.';49 var len = obj1.length;50 len = obj1.length;

 

其他相關內容

在新的ECMAScript 2015標準里,為了解決變量提升,簡化塊級作用域的實現方式,對變量的聲明增加了兩個關鍵詞:let和const。


const:常量。一旦聲明賦值后,將不能對此變量進行再次賦值。

let:塊級作用域變量。變量的生命周期只在被{}括號包裹的代碼范圍內有效,且不能重復聲明。

在新的標準下編寫JavaScript代碼時,要遵循“多let少var”的規范。


來源:星辰.Lee博客園

上一篇: T4 模板自動生成帶注釋的實體類文件 - 只需要一個 SqlSugar.dll孫凱旋

下一篇: 獲取Java環境相關信息大全

分享到: 更多
pk10怎样分析走势分析 多赢安卓版软件 重庆时时采彩开奖记录 二八杠麻将玩法 qq麻将手机版 扑克三公游戏下载 三公棋牌app下载 牌九顺序 老虎机退币器专卖 四人斗地主炸弹规则 二十一点高级策略表 比分直播篮球 时时彩怎么玩 大富翁棋牌游戏 排九至尊大还是天牌大 psv游戏排行