JavaScript >> Javascript 文檔 >  >> JavaScript

使用 typeof 檢查 JavaScript 中的變量類型 [示例]

本文將解釋 JavaScript 變量類型以及如何使用 typeof 查找變量的類型 運營商。

類型 運算符與 instanceof 非常相似 運算符 - 但它們的功能不同 . 實例 檢查變量是否屬於特定類型時返回 TRUE 或 FALSE,而 typeof 返回類型的名稱。

什麼是類型?

變量的類型決定了它能做什麼,不能做什麼。

它決定了變量可以取什麼值以及可以用這個值做什麼。

例如,數字 包含數值的類型變量可用於算術運算。相比之下,字符串類型 包含一系列單詞的變量不能 可用於算術計算,但可以與其他字符串連接以創建更長的字符串。

在 JavaScript 中查找變量的類型

您通常會提前知道變量的類型——畢竟,您將是聲明它並為其賦值的人。

但是,有時您可能不會。例如,該值可能來自第三方包,或者通過 API 調用檢索,或者來自用戶輸入——您可能希望在嘗試使用變量之前確定變量的類型。

類型 運算符

類型 運算符就是這樣做的——它告訴你給定變量的類型。語法如下:

typeof operand

注意:

  • 類型操作員 , 不是函數
    • 這意味著您調用它並在其後跟一個用空格分隔的變量或值
  • 操作數 應該是您希望檢查類型的變量或值
  • 將返回一個包含類型名稱的字符串(有關可能的返回值,請參見下表)
變量類型 類型 輸出
未定義 “未定義”
“對象”
布爾值 “布爾”
數字 “數字”
大整數 “大整數”
字符串 “字符串”
符號 “符號”
函數對象 “功能”
任何其他對象 “對象”

示例

下面,您可以看到 typeof 的值是多少 運算符根據傳遞給它的各種值返回:

typeof 32; // 'number'
typeof 1.89; // 'number'
typeof NaN; // 'number' - this variable should be numeric, but a numeric value was not able to be assigned to it, so it is a number variable with a NaN (Not a Number) value to indicate as such

typeof ''; // 'string'
typeof 'foo'; // 'string'

typeof true; // 'boolean'
typeof false; // 'boolean'

typeof undefined; // 'undefined'

typeof {property: 'value'}; // 'object'

檢查變量是否為特定類型

根據上面展示的輸出,您可以比較 typeof 的輸出 到一個已知的值以根據變量的類型執行操作。

var myVariable = 64;
if(typeof myVariable === 'number'){
    console.log('The variable is a number')
}

這在檢查變量是否被賦值時特別有用:

var myVariable; 
if(typeof myVariable === 'undefined'){
    // Variable is undefined, so no value has been defined though the variable has been declared
    console.log('No value has been assigned to the variable')
} else {
    // Value is assigned, you can do something with the variable here
}

有關類型的更多信息 運營商,您可以在以下位置查看官方 Mozilla 開發人員資源:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof


Tutorial JavaScript 教程
  1. Deno 的權限安全

  2. 在 Electron 中保存 JSON

  3. 儘管設置了 maxzoom,但 Mapbox 柵格圖塊消失了

  4. JavaScript 中的三個點 |示例代碼

  5. 完美的麵包屑(在 Nuxt 中)

  6. 如何在 Docker 中調試 Node JS?

  7. React 中的 CSS 模塊

  1. JavaScript 中的網站 URL 驗證 |示例代碼

  2. 如何在不復製片段的情況下傳遞道具

  3. 如何使用 Node.js 製作 Twitter Bot - 第 2 部分

  4. 如何在沒有基於組件的框架的情況下構建可重用的 HTML 組件

  5. 你知道 JavaScript 中的 0.1 + 0.2 ≠ 0.3 嗎?這就是為什麼!

  6. 有沒有一種方法可以自動創建用於語言翻譯的 .json 文件?

  7. 讓我們從 Yarn 2 工作區開始

  1. 在 React 中從零開始構建加密貨幣圖表 - 第 1 部分

  2. 每日反應 1 - useState

  3. JavaScript-30 第 1 天

  4. 端點測試的逐步介紹