初學者指南:JavaScript 中的 typeof

更新日期: 2024 年 10 月 18 日

在學習 JavaScript 的過程中,你會遇到許多不同類型的數據,比如數字、字串、布林值等。

有時候,我們需要檢查變數的類型,以確保我們正確地處理它們。

這時候,typeof 就派上用場了!

這篇文章將幫助你了解什麼是 typeof,以及如何在程式碼中使用它來檢查數據類型。


什麼是 typeof

typeof 是 JavaScript 中的一個運算符,用於檢查變數或值的數據類型。

它可以幫助你知道某個變數是數字、字串、物件還是其他類型。

typeof 非常簡單且有用,特別是當你處理多種不同類型的數據時,它可以幫助你避免錯誤並使程式碼更健壯。

使用 typeof 來檢查變數類型的基本語法如下:

typeof 變數名稱

這會返回變數的類型,通常以字串的形式表示,例如 “number”、”string”、”object” 等。


使用 typeof 的例子

讓我們來看看一些實際的例子,看看 typeof 在不同情況下的使用:

數字類型

let age = 25;
console.log(typeof age); // 輸出:"number"

在這個例子中,我們宣告了一個變數 age,並賦值為數字 25。使用 typeof 可以檢查 age 的類型,它會返回 “number”,這表示 age 是一個數字。

字串類型

let name = "Alice";
console.log(typeof name); // 輸出:"string"

字串類型的變數會返回 “string”,這樣我們就知道 name 是字串,而不是其他類型的數據。

布林類型

let isStudent = true;
console.log(typeof isStudent); // 輸出:"boolean"

布林值(即 truefalse)的類型會被 typeof 返回為 “boolean”。

未定義(undefined

let myVar;
console.log(typeof myVar); // 輸出:"undefined"

當變數被宣告但沒有賦值時,它的類型是 “undefined”。這代表變數存在,但還沒有被初始化。

物件類型

let person = { name: "Alice", age: 25 };
console.log(typeof person); // 輸出:"object"

物件是一種複雜的數據類型,用來存儲鍵值對。在這裡,person 是一個物件,使用 typeof 會返回 “object”。

陣列類型

let numbers = [1, 2, 3];
console.log(typeof numbers); // 輸出:"object"

在 JavaScript 中,陣列是一種類型的物件,因此 typeof 返回 “object”。如果你想特別檢查一個變數是否是陣列,你可以使用 Array.isArray() 方法。

函數類型

function greet() {
  console.log("Hello!");
}
console.log(typeof greet); // 輸出:"function"

當你使用 typeof 檢查函數時,結果會是 “function”,這是一個特殊的物件類型。


特殊情況:nullNaN

JavaScript 中有幾個特殊值在使用 typeof 時會有一些容易讓人困惑的結果。

null

let value = null;
console.log(typeof value); // 輸出:"object"

這是一個歷史遺留的特性,在 JavaScript 中,null 的類型是 “object”。儘管這看起來不太直觀,但這是 JavaScript 的一個已知行為。

延伸閱讀:There is a BUG in JavaScript Since Day One — ‘typeof null’

NaN

NaN 代表 “Not a Number”,表示某個數值運算的結果不是一個有效的數字。

let result = "hello" / 2;
console.log(result); // 輸出:NaN
console.log(typeof result); // 輸出:"number"

儘管 NaN 意味著 “不是數字”,但 typeof NaN 仍然返回 “number”,因為它本質上是一個特殊的數字值。

延伸閱讀:維基百科:NaN


為什麼使用 typeof 很重要?

typeof 可以幫助你更好地理解和控制程式碼中變數的類型,特別是在處理不同類型的輸入或執行條件判斷時。

它能幫助你避免常見的錯誤,例如在預期使用數字時卻意外地處理了字串。

function add(a, b) {
  if (typeof a !== "number" || typeof b !== "number") {
    return "請輸入數字!";
  }
  return a + b;
}

在這個例子中,我們使用 typeof 來檢查參數是否為數字,以確保函數只處理有效的輸入。


結論

typeof 是 JavaScript 中用來檢查變數或值的數據類型的重要工具。

理解和正確使用 typeof 可以幫助你避免許多常見的錯誤,並使你的程式碼更具健壯性。

無論你是檢查變數類型,還是調試程式碼,typeof 都是非常有用的運算符。

希望這篇文章能幫助你理解 typeof 的用法,並鼓勵你在寫 JavaScript 程式碼時多多使用它。

如果你對 JavaScript 還有更多疑問,記得多加練習和實踐,這是掌握這門語言的最佳方式!

Similar Posts