在 JavaScript 中,資料型別分為兩大類:原始和非原始(參考)型別。這種區別對於理解資料如何在記憶體中儲存和存取至關重要。讓我們分解每種類型,看看它們是如何運作的。
JavaScript 有 7 種基本資料型態:
字串
表示文字數據,例如“Hello World”。
數字
表示整數和浮點數,例如 100、100.3。與其他一些語言不同,JavaScript 不區分整數和浮點數——它們都只是數字。
const score = 100; const scoreValue = 100.3; console.log(typeof scoreValue); // Output: number
布林值
代表邏輯值:true 或 false。
const isLoggedIn = true; console.log(typeof isLoggedIn); // Output: boolean
符號
代表一個唯一的識別符。即使兩個符號是用相同的描述創建的,它們也是不同的。
const id = Symbol('123'); const anotherId = Symbol('123'); console.log(id === anotherId); // Output: false
空
表示有意缺少任何物件值。
const outsideTemp = null; console.log(typeof outsideTemp); // Output: object
未定義
表示已聲明但尚未賦值的變數。
let weather; console.log(typeof weather); // Output: undefined
BigInt
表示任意精確度的整數,讓您處理超出 Number 安全整數限制的大數。
const bigNumber = 23873847283748289483n; console.log(typeof bigNumber); // Output: bigint
基本型別直接儲存在與變數相關的記憶體位置。當您將原始值指派給另一個變數時,會建立該值的新副本。
let myName = "Aman"; let myOtherName = myName; myOtherName = "Dawn"; console.log(myName); // Output: Aman console.log(myOtherName); // Output: Dawn
在上面的範例中,更改 myOtherName 不會影響 myName,因為已建立該值的新副本。
非原始型,也稱為引用型,包括:
陣列
可以是任何類型的元素集合,儲存為列表。
const heros = ["ironman", "spiderman", "batman"]; console.log(typeof heros); // Output: object
物件
鍵值對的集合,其中鍵是字串或符號,值可以是任何類型。
let myObj = { name: "Ayush", age: 21, }; console.log(typeof myObj); // Output: object
功能
旨在執行特定任務的程式碼區塊,可以儲存在變數中。
const myFunction = function() { console.log("Hello World"); }; console.log(typeof myFunction); // Output: function
非原始型別儲存在堆中,變數保存實際資料的參考(記憶體位址)。當您將非基本類型指派給另一個變數時,兩個變數都指向相同的記憶體位置。
let userOne = { email: "user1@google.com", upi: "user@ybl" }; let userTwo = userOne; userTwo.email = "aman@google.com"; console.log(userOne.email); // Output: aman@google.com console.log(userTwo.email); // Output: aman@google.com
在上面的範例中,修改 userTwo.email 也會更改 userOne.email,因為這兩個變數都引用記憶體中的相同物件。
編碼愉快,下一篇見!
以上是日間理解 JavaScript 資料型態:原始與非原始的詳細內容。更多資訊請關注PHP中文網其他相關文章!