TypeScript - 數字:初學者的全面指南

你好,未來的編程超級巨星!歡迎來到我們的TypeScript數字世界之旅。作為你友好鄰居的計算機老師,我將指導你走進這個令人興奮的課題。如果你以前從未寫過一行代碼,也別擔心——我們將從最基礎的知識開始,逐步學習。所以,拿一杯咖啡(或你喜歡的飲料),我們一起來深入學習吧!

TypeScript - Numbers

TypeScript中的數字是什麼?

在我們深入細節之前,讓我們先討論一下TypeScript中的數字。在編程世界中,數字是最基礎的數據類型之一。它們就像我們代碼中數學的積木。TypeScript作為JavaScript的超集,以類似的方式處理數字,但有一些額外的優勢。

語法:如何在TypeScript中寫數字

在TypeScript中,你可以用多種方式寫數字。讓我們看一下一些例子:

let age: number = 30;
let price: number = 19.99;
let billion: number = 1e9;
let hexColor: number = 0xffffff;
let binaryValue: number = 0b1010;
let octalValue: number = 0o744;

讓我們分解這些:

  • age:一個簡單的整數。
  • price:一個小數(也稱為浮點數)。
  • billion:科學記數法(10億)。
  • hexColor:十六進制記數法(RGB中的白色)。
  • binaryValue:二進制記數法(等於十進制的10)。
  • octalValue:八進制記數法(等於十進制的484)。

請記住,在TypeScript中,所有的數字都是浮點數值。這意味著即使你寫了一個整數,如30,在背後它也是以30.0的形式存儲的。

創建數字類型

在TypeScript中,你可以明確聲明一個變量為數字類型。這是TypeScript與JavaScript區別開來的一個關鍵特點——它允許我們為變量添加類型注解。

let score: number;
score = 95;

let temperature: number = -5;

function calculateArea(width: number, height: number): number {
return width * height;
}

let area = calculateArea(10, 20);
console.log(area); // 輸出:200

在這個例子中,我們將scoretemperature聲明為數字類型。我們還創建了一個函數calculateArea,它接受兩個數字參數並返回一個數字。這有助於及早發現錯誤,如果我們不小心傳遞了一個字符串或其他類型。

創建數字對象

雖然在日常編程中不常見(也不推薦),但你也可以使用Number構造函數創建數字對象:

let numObject: Number = new Number(42);
console.log(typeof numObject); // 輸出:object

let primitiveNum: number = 42;
console.log(typeof primitiveNum); // 輸出:number

注意當我們使用構造函數時,Number中的大寫'N'。這創建了一個包絡數字的對象,這與原始數字類型(小寫'n')不同。在大多數情況下,你會想使用原始類型以獲得更好的性能和更簡單的代碼。

數字屬性

TypeScript從JavaScript的Number對象繼承了幾個有用的屬性。這些是靜態屬性,意味著你不需要創建Number的實例就可以使用它們。

下面是最常見的Number屬性表:

屬性 描述 示例
Number.MAX_VALUE 最大可表示的數字 console.log(Number.MAX_VALUE);
Number.MIN_VALUE 最小可表示的正數 console.log(Number.MIN_VALUE);
Number.NaN 非數字值 console.log(Number.NaN);
Number.NEGATIVE_INFINITY 負無窮大 console.log(Number.NEGATIVE_INFINITY);
Number.POSITIVE_INFINITY 正無窮大 console.log(Number.POSITIVE_INFINITY);

讓我們看看這些屬性是如何使用的:

console.log(Number.MAX_VALUE); // 輸出:1.7976931348623157e+308
console.log(Number.MIN_VALUE); // 輸出:5e-324
console.log(Number.NaN); // 輸出:NaN
console.log(Number.NEGATIVE_INFINITY); // 輸出:-Infinity
console.log(Number.POSITIVE_INFINITY); // 輸出:Infinity

這些屬性在你需要檢查計算中的極端值或特殊情況時非常有用。

數字方法

TypeScript的數字還帶有一套內置方法,這些方法可以幫助你執行各種操作。下面是一些常用方法的表:

方法 描述 示例
toFixed() 格式化數字,使其具有特定的小數位數 let pi = 3.14159; console.log(pi.toFixed(2));
toPrecision() 格式化數字到指定的長度 let bigNumber = 1234.5678; console.log(bigNumber.toPrecision(5));
toString() 將數字轉換為字符串 let num = 42; console.log(num.toString());
valueOf() 返回Number對象的原始值 let numObj = new Number(42); console.log(numObj.valueOf());

讓我們看看這些方法是如何使用的:

let pi = 3.14159;
console.log(pi.toFixed(2)); // 輸出:"3.14"

let bigNumber = 1234.5678;
console.log(bigNumber.toPrecision(5)); // 輸出:"1234.6"

let num = 42;
console.log(num.toString()); // 輸出:"42"

let numObj = new Number(42);
console.log(numObj.valueOf()); // 輸出:42

這些方法在需要格式化數字以供顯示或將其轉換為不同操作時非常有用。

結論

我們今天涵蓋了很多內容,從TypeScript數字的基礎語法到更先進的數字屬性和方法概念。記住,處理數字是編程的基本技能,掌握這些概念將會在你的編程旅程中為你提供良好的服務。

當我們結束時,這裡有一點編程幽默給你:為什麼編程師喜歡暗色模式?因為光會吸引蟲子!?

繼續練習,保持好奇心,並不要害怕在你的代碼中試驗這些數字概念。在你意識到之前,你將會像專家一樣計算和操縱數字!下次見,快樂編程!

Credits: Image by storyset