」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 了解 JavaScript 中的原始資料類型

了解 JavaScript 中的原始資料類型

發佈於2024-08-23
瀏覽:398

Understanding Primitive Data Types in JavaScript

JavaScript 有七種原始資料類型,每個開發人員都必須理解它們。這些類型構成了更複雜資料結構的建構塊,對於高效程式設計至關重要。在本文中,我們將探討 JavaScript 中不同的原始資料類型、它們的特性以及它們的使用方式。

什麼是原始資料型態?
原始資料類型是最基本的不可變資料類型,這意味著它們的值無法變更。在 JavaScript 中,有七種基本資料型別:

  1. 細繩
  2. 數字
  3. BigInt
  4. 布林值
  5. 不明確的
  6. 無效的
  7. 象徵

理解這些基本類型對於正確的資料操作、類型檢查和避免 JavaScript 中的常見程式錯誤至關重要。

1。細繩
代表文本資料
用單引號或雙引號括起來
例:

let name = "John"; let greeting = 'Hello';

2.數字
數字資料型態表示整數和浮點數。
例:

let age = 25; let pi = 3.14;

3. BigInt
BigInt 是 JavaScript 中相對較新的補充,允許以任意精確度表示整數。 BigInt 值是透過將 n 附加到整數末尾或使用 BigInt 函數建立的。
例:

let bigIntValue = 1234567890123456789012345678901234567890n;
let anotherBigIntValue = BigInt("1234567890123456789012345678901234567890");

4。布林值
布林資料型別只有兩個值:true 和 false。它通常用於條件測試和邏輯運算。
例:

let isJavaScriptFun = true;
let isTired = false;

5。不明確的
已宣告但未賦值的變數的型別為未定義。
例:

let undefinedVariable;
console.log(undefinedVariable); // undefined

6。無效的
null 值表示有意不存在任何物件值。它是 JavaScript 的原始值之一,對於布林運算被視為 false。
例:

let emptyValue = null;
console.log(emptyValue); // null

7.象徵
ES6 中引入的符號。符號是唯一且不可變的原始值,通常用於識別物件屬性。它們是使用 Symbol 函數建立的。
例:

let uniqueSymbol = Symbol('description');
let anotherUniqueSymbol = Symbol('description');
console.log(uniqueSymbol === anotherUniqueSymbol); // false

原始資料類型的關鍵特徵:

  1. 不變性: 一旦建立了原始值,就無法變更。對原始值的操作傳回新值而不是修改原始值。

  2. Typeof 運算子: typeof 運算子可用來決定原始值的型別。

console.log(typeof 42); // "number"
console.log(typeof 'Hello'); // "string"
console.log(typeof true); // "boolean"
console.log(typeof undefined); // "undefined"
console.log(typeof null); // "object" (this is a historical bug in JavaScript)
console.log(typeof Symbol('symbol')); // "symbol"
console.log(typeof 1234567890123456789012345678901234567890n); // "bigint"

結論
JavaScript 中的原始資料類型是使用該語言處理資料的建構塊。了解這些資料類型對於有效的 JavaScript 程式設計至關重要。它們是簡單但功能強大的工具,可讓您在應用程式中表示和操作基本值。隨著您在 JavaScript 之旅中不斷進步,紮實掌握這些基礎知識將對您大有裨益,使您能夠編寫更健壯、更有效率的程式碼。

隨意嘗試這些資料類型並觀察它們在不同場景中的表現。快樂編碼!

版本聲明 本文轉載於:https://dev.to/sagarj521/understanding-primitive-data-types-in-javascript-2743?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • 如何確定 PHP 標頭的正確圖片內容類型?
    如何確定 PHP 標頭的正確圖片內容類型?
    確定PHP 標頭的圖像內容類型確定PHP 標頭的圖像內容類型使用Header() 函數從Web 根目錄之外顯示圖像時,用戶可能會遇到困惑關於指定的內容類型:image/png。然而,儘管內容類型固定,但具有各種擴展名的圖像(例如, JPG、GIF)仍然可以成功顯示。 $filename = base...
    程式設計 發佈於2024-11-05
  • ByteBuddies:使用 Python 和 Tkinter 建立互動式動畫寵物
    ByteBuddies:使用 Python 和 Tkinter 建立互動式動畫寵物
    大家好! 我很高興向大家介紹 ByteBuddies,這是一個用 Python 和 Tkinter 創建的個人項目,展示了互動式動畫虛擬寵物。 ByteBuddies 將引人入勝的動畫與使用者交互相結合,提供了展示 GUI 程式設計強大功能的獨特體驗。該項目旨在透過提供互動式虛擬寵物來讓您的螢幕充...
    程式設計 發佈於2024-11-05
  • 如何解決“TypeError:\'str\'物件不支援專案分配”錯誤?
    如何解決“TypeError:\'str\'物件不支援專案分配”錯誤?
    'str'物件項目分配錯誤疑難排解'str'物件項目分配錯誤疑難排解嘗試在Python 中修改字串中的特定字元時,您可能會遇到錯誤「類型錯誤:「str」物件不支援專案分配。」發生這種情況是因為Python 中的字串是不可變的,這意味著它們無法就地更改。 >>...
    程式設計 發佈於2024-11-05
  • 如何緩解 GenAI 程式碼和 LLM 整合中的安全問題
    如何緩解 GenAI 程式碼和 LLM 整合中的安全問題
    GitHub Copilot and other AI coding tools have transformed how we write code and promise a leap in developer productivity. But they also introduce new ...
    程式設計 發佈於2024-11-05
  • Spring 中的 ContextLoaderListener:必要的邪惡還是不必要的複雜?
    Spring 中的 ContextLoaderListener:必要的邪惡還是不必要的複雜?
    ContextLoaderListener:必要的邪惡還是不必要的複雜? 開發人員經常遇到在 Spring Web 應用程式中使用 ContextLoaderListener 和 DispatcherServlet。然而,一個令人煩惱的問題出現了:為什麼不簡單地使用 DispatcherServle...
    程式設計 發佈於2024-11-05
  • JavaScript 機器學習入門:TensorFlow.js 初學者指南
    JavaScript 機器學習入門:TensorFlow.js 初學者指南
    機器學習 (ML) 迅速改變了軟體開發世界。直到最近,由於 TensorFlow 和 PyTorch 等函式庫,Python 仍是 ML 領域的主導語言。但隨著 TensorFlow.js 的興起,JavaScript 開發人員現在可以深入令人興奮的機器學習世界,使用熟悉的語法直接在瀏覽器或 Nod...
    程式設計 發佈於2024-11-05
  • extjs API 查詢參數範例
    extjs API 查詢參數範例
    API 查詢 參數是附加到 API 請求 URL 的鍵值對,用於傳送附加資訊至伺服器。它們允許用戶端(例如 Web 瀏覽器或應用程式)在向伺服器發出請求時指定某些條件或傳遞資料。 查詢參數加入到 URL 末端問號 (?) 後。每個參數都是鍵值對,鍵和值之間以等號 (=) 分隔。如果有多個查詢參數,...
    程式設計 發佈於2024-11-05
  • 如何解決Go中從不同套件匯入Proto檔案時出現「Missing Method Protoreflect」錯誤?
    如何解決Go中從不同套件匯入Proto檔案時出現「Missing Method Protoreflect」錯誤?
    如何從不同的套件導入Proto 檔案而不遇到「Missing Method Protoreflect」錯誤在Go 中,protobuf 常用於資料序列化。將 protobuf 組織到不同的套件中時,可能會遇到與缺少 ProtoReflect 方法相關的錯誤。當嘗試將資料解組到單獨套件中定義的自訂 p...
    程式設計 發佈於2024-11-05
  • 為什麼MySQL在查詢「Field = 0」非數位資料時傳回所有行?
    為什麼MySQL在查詢「Field = 0」非數位資料時傳回所有行?
    不明確的查詢:理解為什麼MySQL 回傳「Field=0」的所有行在MySQL 查詢領域,一個看似無害的比較,例如“SELECT * FROM table WHERE email=0”,可能會產生意外的結果。它沒有按預期過濾特定行,而是返回表中的所有記錄,從而引發了對資料安全性和查詢完整性的擔憂。 ...
    程式設計 發佈於2024-11-05
  • 伺服器發送事件 (SSE) 的工作原理
    伺服器發送事件 (SSE) 的工作原理
    SSE(服务器发送事件)在 Web 开发领域并未广泛使用,本文将深入探讨 SSE 是什么、它是如何工作的以及它如何受益您的申请。 什么是上交所? SSE 是一种通过 HTTP 连接从服务器向客户端发送实时更新的简单而有效的方法。它是 HTML5 规范的一部分,并受到所有现代 Web ...
    程式設計 發佈於2024-11-05
  • 如何從字串 TraceID 建立 OpenTelemetry Span?
    如何從字串 TraceID 建立 OpenTelemetry Span?
    從字串 TraceID 建構 OpenTelemetry Span要建立 Span 之間的父子關係,必須在上下文傳播不可行的情況下使用標頭。在這種情況下,追蹤 ID 和跨度 ID 包含在訊息代理程式的標頭中,這允許訂閱者使用父追蹤 ID 建立新的跨度。 解決方案以下步驟可以使用追蹤ID 在訂閱者端建...
    程式設計 發佈於2024-11-05
  • 如何在gRPC中實現伺服器到客戶端的廣播?
    如何在gRPC中實現伺服器到客戶端的廣播?
    gRPC 中的廣播:伺服器到客戶端通訊建立gRPC 連線時,通常需要將事件或更新從伺服器廣播到客戶端連接的客戶端。為了實現這一點,可以採用各種方法。 Stream Observables常見的方法是利用伺服器端流。每個連線的客戶端都與伺服器建立自己的流。然而,直接訂閱其他伺服器客戶端流是不可行的。 ...
    程式設計 發佈於2024-11-05
  • 為什麼填入在 Safari 和 IE 選擇清單中不起作用?
    為什麼填入在 Safari 和 IE 選擇清單中不起作用?
    在Safari 和IE 的選擇清單中不顯示填充儘管W3 規範中沒有限制,但WebKit 瀏覽器不支援選擇框中的填充,包括Safari和Chrome。因此,這些瀏覽器中不應用填充。 要解決此問題,請考慮使用 text-indent 而不是 padding-left。透過相應增加選擇框的寬度來保持相同的...
    程式設計 發佈於2024-11-05
  • 在 Spring Boot 中建立自訂註解的終極指南
    在 Spring Boot 中建立自訂註解的終極指南
    Such annotations fill the entire project in Spring Boot. But do you know what problems these annotations solve? Why were custom annotations introduce...
    程式設計 發佈於2024-11-05
  • 為什麼 Elixir 在非同步處理方面比 Node.js 更好?
    為什麼 Elixir 在非同步處理方面比 Node.js 更好?
    简单回答:Node.js 是单线程的,并拆分该单线程来模拟并发,而 Elixir 利用了 Erlang 虚拟机 BEAM 原生的并发和并行性,同时执行进程。 下面,我们将更深入地了解这种差异,探索两个关键概念:Node.js 事件循环和 Elixir 的 BEAM VM 和 OTP。这些元素对于理解...
    程式設計 發佈於2024-11-05

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3