Typescript 基本类型
基礎知識腦補下
在 JavaScript 的類型分為兩種:
- 原始數據類型(Primitive data types)
- 對象類型(Object types)
其中,原始數據類型包括:布爾值、數字、字符串、null、undefined 以及 ES6 中的新類型 Symbol。本章選擇性講前 5 種還有空值。
布爾值
它是最基礎的數據類型,其值是 true/false。在 JavaScript 和 TypeScript 里都使用 boolean 來定義(其它語言中也一樣)。
// boolean.ts let isDone: boolean = false; 復制代碼編譯(tsc boolean.ts)后
// boolean.js var isDone = false; 復制代碼問:使用構造函數 Boolean 來創造可以么?比如
// boolean2.ts let isDoneByNewBoolean: boolean = new Boolean(1); 復制代碼編譯(編輯器里)前
編譯后
問題在于 new Boolean(1) 返回的是一個對象。
再問:直接使用 Boolean(1) 怎樣?
// boolean3.ts let isDoneByBoolean: boolean = Boolean(1); 復制代碼編譯后
// boolean3.js var isDoneByBoolean = Boolean(1); 復制代碼Boolean(1) 返回的是個布爾值。
數字
和 JavaScript 一樣,TypeScript 里的所有數字都是浮點數,類型是 number。
// number.ts let decLiteral: number = 6; let hexLiteral: number = 0xf00d; let binaryLiteral: number = 0b1010; // ES6 中的二進制表示法 let octalLiteral: number = 0o744; // ES6 中的八進制表示法 let notANumber: number = NaN; let infinityNumber: number = Infinity; 復制代碼編譯后
// number.ts var decLiteral = 6; var hexLiteral = 0xf00d; var binaryLiteral = 10; // ES6 中的二進制表示法 var octalLiteral = 484; // ES6 中的八進制表示法 var notANumber = NaN; var infinityNumber = Infinity; 復制代碼字符串
和 JavaScript 一樣,使用 string 表示文本數據類型,可以用**雙引號(")或單引號(')**表示字符串。
// string.ts let str: string = 'Typescript'; let say: string = `Hello, ${str}`; 復制代碼編譯后
// string.js var str = 'Typescript'; var say = "Hello, " + str; 復制代碼null 和 undefined
在 TypeScript 的世界里,null 和 undefined 可用自身來定義數據類型。不過其用書不大。
// null-undefined.ts let u: undefined = undefined; let n: null = null; 復制代碼編譯后
// null-undefined.js var u = undefined; var n = null; 復制代碼問:那將值 null 和 undefined 換個位置會怎樣呢?
// null-undefined2.ts let u: undefined = null; let n: null = undefined; 復制代碼編譯后
// null-undefined2.js var u = null; var n = undefined; 復制代碼問:那像下面這樣呢?
// null-undefined3.ts let nu: number = undefined; let nn: number = null;let su: string = undefined; let sn: string = null;let bu: boolean = undefined; let bn: boolean = null; 復制代碼編譯后
// null-undefined3.js var nu = undefined; var nn = null; var su = undefined; var sn = null; var bu = undefined; var bn = null; 復制代碼從上面 3 個例子,可基本判斷,null 和 undefined 是所有類型的子類型(可以把 null 和 undefined 賦值給 number 等所有類型的變量,也就是賦值沒多大意義)。
空值
在 JavaScript 的世界里是沒有空值的概念,但在 TypeScript 中,可以用 void 表示沒有任何返回值的函數。
// void.ts function sayTs(): void {console.log('Hello, Typescript'); }function sayTs2(): void {return 'Hello, Typescript'; } 復制代碼編譯前
編譯后
但還是編譯出來了
// void.js function sayTs() {console.log('Hello, Typescript'); } function sayTs2() {return 'Hello, Typescript2'; } 復制代碼問:void 與 null(或undefined)間關系如何?
// void2.ts let u: void = undefined; let n: void = null; 復制代碼編譯后
// void2.js var u = undefined; var n = null; 復制代碼問:void 與 string(number、boolean)關系如何?
// void3.ts let n: void = 1; let b: void = false; let s: void = '1'; 復制代碼編譯前
編譯后
但還是編譯出來了
// void3.js var vn = 1; var vb = false; var vs = '1'; 復制代碼總結下,只能將 undefined、null 和沒有返回值的函數賦值給 void(空值)類型。
本次代碼 Github
You can
上一篇:Typescript 的成長環境
下一篇:Typescript 任意值
轉載于:https://juejin.im/post/5d0b9e1f51882531fc431d60
總結
以上是生活随笔為你收集整理的Typescript 基本类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RabbitMQ学习总结(3)——入门实
- 下一篇: ASP.NET购物车Cookie获取,创