官术网_书友最值得收藏!

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 }';
主站蜘蛛池模板: 全南县| 贡觉县| 泰州市| 那坡县| 丹棱县| 环江| 类乌齐县| 桃江县| 长泰县| 宜黄县| 米脂县| 浦县| 嘉兴市| 上犹县| 五大连池市| 山东省| 枞阳县| 合作市| 建昌县| 故城县| 上思县| 湾仔区| 定安县| 阜城县| 舞钢市| 尼木县| 敦化市| 阜南县| 烟台市| 重庆市| 瑞丽市| 乌鲁木齐县| 芮城县| 涟源市| 洛川县| 铁力市| 阜南县| 河间市| 屏南县| 常德市| 墨竹工卡县|