- TypeScript+Vue.js前端開發從入門到精通
- 張益琿編著
- 880字
- 2024-12-30 15:12:14
2.2.1 布爾、數值與字符串

在軟件設計中,布爾類型是非常重要的,大多邏輯語句的判斷部分都是通過布爾值來實現的。在TypeScript中,布爾類型叫作boolean,其值只有true和false兩種。
要指定一個變量的類型為布爾類型,直接在變量名后加冒號,冒號后面加boolean即可,示例如下。
【源碼見附件代碼/第2章/3.Boolean-Number-String/3.boolean-number-string.ts】
//定義一個布爾類型的變量,并將其賦值為true var isSuccess: boolean = true;
需要注意,JavaScript中提供了一個名為Boolean的函數,例如下面的代碼返回的值將不是boolean類型。
【源碼見附件代碼/第2章/3.Boolean-Number-String/3.boolean-number-string.ts】
//使用Boolean構造方法來創建一個包裝布爾值的對象 var isComplete = new Boolean(1);
使用構造方法的方式調用Boolean函數將返回一個對象,對象中會包裝一個布爾值,因此isComplete變量本質上是對象類型,不能將其聲明為boolean類型,可以通過調用此對象的valueOf方法來獲取內部包裝的布爾值,示例如下。
【源碼見附件代碼/第2章/3.Boolean-Number-String/3.boolean-number-string.ts】
console.log(typeof isComplete); console.log(typeof isComplete.valueOf(), isComplete.valueOf());
運行代碼,控制臺將輸出如下:
object boolean true
如果不使用構造方法,直接調用Boolean函數,則其返回的依然是boolean類型的數據,示例如下:
【源碼見附件代碼/第2章/3.Boolean-Number-String/3.boolean-number-string.ts】
//調用Boolean函數(非構造方法)來創建boolean類型的數據 var isPass: boolean = Boolean(0);
提示與Boolean方法類似,JavaScript中也提供了String、Number等類型的構造方法,使用構造方法創建出來的都是對象類型,其本質是對基礎類型數據進行包裝,這在編寫TypeScript代碼時要額外注意。后面就不再贅述了。
在JavaScript中,所有數值都只有一種類型,即number。TypeScript中支持使用多種方式來定義數值。示例如下。
【代碼片段2-4 源碼見附件代碼/第2章/3.Boolean-Number-String/3.boolean-number-string.ts】

其中Infinity和NaN是兩個特殊的數值,Infinity用來表示無窮的概念,NaN用來描述非數字,例如要編寫一個將字符串轉換成數值的函數,如果調用方傳入的字符串不能轉換,就可以返回一個NaN值。
下面介紹本節的最后一塊內容——字符串。字符串的類型為string,和JavaScript類似,在定義時可以使用雙引號,也可以使用單引號,示例如下:
【源碼見附件代碼/第2章/3.Boolean-Number-String/3.boolean-number-string.ts】
var str1: string = 'Hello'; var str2: string = "World";
TypeScript中也支持使用模板字符串,即字符串插值,這極大地方便了開發者所需處理的字符串拼接工作,示例如下:
【源碼見附件代碼/第2章/3.Boolean-Number-String/3.boolean-number-string.ts】
//結果為:str1 is Hello, str2 is World var str3: string = 'str1 is ${ str1 }, str2 is ${ str2 }';
在使用模板字符串時,也支持換行操作,下面的寫法也是合法的:
//結果為 //str1 is Hello //str2 is World var str3: string = 'str1 is ${ str1 } str2 is ${ str2 }';
- INSTANT Mock Testing with PowerMock
- Spring 5.0 Microservices(Second Edition)
- Python科學計算(第2版)
- DevOps for Networking
- Developing Middleware in Java EE 8
- JMeter 性能測試實戰(第2版)
- Troubleshooting PostgreSQL
- Apex Design Patterns
- Python機器學習經典實例
- Nginx實戰:基于Lua語言的配置、開發與架構詳解
- C語言程序設計實驗指導 (第2版)
- Extending Puppet(Second Edition)
- Solr Cookbook(Third Edition)
- C++編程兵書
- GitHub入門與實踐