ホームページ > 記事 > ウェブフロントエンド > JavaScript データ型を理解する日: プリミティブと非プリミティブ
JavaScript では、データ型は、プリミティブ と 非プリミティブ (参照) 型の 2 つの主なカテゴリに分類されます。この区別は、データがメモリにどのように保存され、メモリにアクセスされるかを理解するために不可欠です。それぞれのタイプを分類して、それらがどのように機能するかを見てみましょう。
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
記号
一意の識別子を表します。 2 つのシンボルが同じ説明で作成された場合でも、それらは別個のものです。
const id = Symbol('123'); const anotherId = Symbol('123'); console.log(id === anotherId); // Output: false
Null
オブジェクト値が意図的に存在しないことを表します。
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 中国語 Web サイトの他の関連記事を参照してください。