TypeScript - 布林值



TypeScript 的布林型別表示邏輯值,例如 true 或 false。邏輯值用於控制程式中執行流程。由於 JavaScript 提供了布林原始型別和物件型別,因此 TypeScript 添加了型別註解。我們可以建立布林原始型別以及布林物件。

我們可以使用 Boolean() 建構函式和 new 關鍵字建立布林物件。

要將非布林值轉換為布林值,我們應該使用 Boolean() 函式或雙重否定 (!!) 運算子。我們不應將 Boolean 建構函式與 new 關鍵字一起使用。

語法

要在 TypeScript 中宣告布林值(原始值),我們可以使用關鍵字“boolean”。

let varName: boolean = true;

在上述語法中,我們宣告一個布林變數 varName 併為其賦值 true。

要建立布林物件,我們使用 Boolean() 建構函式和 new 關鍵字。

const varName = new Boolean(value);

在上述語法中,value 是要轉換為布林物件的表示式。使用 new 的 Boolean() 建構函式返回一個包含布林值的物件。

例如,

const isTrue = new Boolean(true);

在上面的示例中,isTrue 持有值 true,而 isFalse 持有值 false。

型別註解

TypeScript 中的型別註解是可選的,因為 TypeScript 可以自動推斷變數的型別。我們可以使用 boolean 關鍵字來註解布林變數的型別。

let isPresent : boolean = true; // with type annotation
let isPresent = true // without type annotation

與變數一樣,函式引數和返回型別也可以進行註解。

真值和假值

在 TypeScript 中,假值是被評估為 false 的值。有六個假值:

  • false
  • 0(零)
  • 空字串("")
  • null
  • undefined
  • NaN

所有其他值都是真值。

將非布林值轉換為布林值

所有上述討論的假值都被轉換為 false,真值被轉換為 true。要將非布林值轉換為布林值,我們可以使用 Boolean() 函式和雙重否定 (!!) 運算子。

使用 Boolean() 函式

TypeScript 中的 Boolean() 函式將非布林值轉換為布林值。它返回一個原始布林值。

let varName = Boolean(value);

value 是要轉換為布林值的表示式。

示例

在下面的示例中,我們使用 Boolean() 函式將非布林值轉換為布林值。

const myBoolean1 = Boolean(10);
console.log(myBoolean1); // true
const myBoolean2 = Boolean("");
console.log(myBoolean2); // false

編譯後,以上程式碼將在 JavaScript 中生成相同的程式碼。執行 JavaScript 程式碼將產生以下輸出:

true
false

使用雙重否定 (!!) 運算子

TypeScript 中的雙重否定 (!!) 運算子將非布林值轉換為布林值。它返回一個原始布林值。

let varName = !!(value);

value 是要轉換為布林值的表示式。

示例

在下面的示例中,我們使用雙重否定 (!!) 運算子將非布林值轉換為布林值。

const myBoolean1 = !!(10);
console.log(myBoolean1); // true
const myBoolean2 = !!("");
console.log(myBoolean2); // false

編譯後,以上程式碼將在 JavaScript 中生成相同的程式碼。執行 JavaScript 程式碼將產生以下輸出:

true
false

布林運算

TypeScript 中的布林運算或邏輯運算可以使用三個邏輯運算子來執行:邏輯 AND、OR 和 NOT 運算子。這些運算返回一個布林值(true 或 false)。

示例:邏輯 AND (&&)

在下面的示例中,我們定義了兩個布林變數 x 和 y。然後執行這些變數的邏輯 AND (&&)。

let x: boolean = true;
let y: boolean = false;
let result: boolean = x && y;
console.log(result); // Output: false

編譯後,它將生成以下 JavaScript 程式碼。

var x = true;
var y = false;
var result = x && y;
console.log(result); // Output: false

以上示例程式碼的輸出如下:

false

示例:邏輯 OR (||)

在下面的示例中,我們執行兩個布林變數 x 和 y 的邏輯 OR (||) 運算。

let x: boolean = true;
let y: boolean = false;
let result: boolean = x || y;
console.log(result); // Output: true

編譯後,它將生成以下 JavaScript 程式碼。

var x = true;
var y = false;
var result = x || y;
console.log(result); // Output: true

以上示例程式碼的輸出如下:

true

示例:邏輯 NOT (!)

在下面的示例中,執行布林變數 isPresent 的邏輯 NOT (!) 運算。

let isPresent: boolean = false;
let isAbsent:boolean = !isPresent;
console.log(isAbsent); // Output: true

編譯後,它將在 JavaScript 中生成相同的程式碼。

以上示例程式碼的輸出如下:

true

使用布林值的條件表示式

示例:If 語句

下面的示例展示瞭如何在 if else 語句中使用布林值的條件表示式。

let age: number = 25;
let isAdult: boolean = age >= 18;
if (isAdult) {
  console.log('You are an adult.');
} else {
  console.log('You are not an adult.');
}

編譯後,它將生成以下 JavaScript 程式碼:

let age = 25;
let isAdult = age >= 18;
if (isAdult) {
    console.log('You are an adult.');
}
else {
    console.log('You are not an adult.');
}

以上示例程式碼的輸出如下:

You are an adult.

示例:條件語句(三元運算子)

嘗試以下示例:

let score: number = 80;
let isPassing: boolean = score >= 70;
let result: string = isPassing ? 'Pass' : 'Fail';
console.log(result); // Output: Pass

編譯後,它將生成以下 JavaScript 程式碼:

let score = 80;
let isPassing = score >= 70;
let result = isPassing ? 'Pass' : 'Fail';
console.log(result); // Output: Pass

以上示例程式碼的輸出如下:

Pass

TypeScript Boolean 與 boolean

Boolean 與 boolean 型別不同。Boolean 不引用原始值。而 boolean 是 TypeScript 中的原始資料型別。您應該始終使用小寫字母的 boolean。

布林物件

如上所述,我們可以使用 Boolean 建構函式和 new 關鍵字建立一個包含布林值的布林物件。Boolean 包裝類為我們提供了不同的屬性和方法來處理布林值。

布林屬性

以下是布林物件屬性的列表:

序號 屬性 & 描述
1

constructor

返回對建立物件的 Boolean 函式的引用。

2

prototype

prototype 屬性允許您向物件新增屬性和方法。

在以下部分,我們將有一些示例來說明布林物件的屬性。

布林方法

以下是布林物件方法及其描述的列表。

序號 方法 & 描述
1

toSource()

返回一個包含布林物件原始碼的字串;您可以使用此字串建立等效的物件。

2

toString()

根據物件的值返回“true”或“false”字串。

3

valueOf()

返回布林物件的原始值。

在以下部分,我們將有一些示例來演示布林方法的使用。

廣告