ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript のプリミティブ値と参照値の違いは何ですか?

JavaScript のプリミティブ値と参照値の違いは何ですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-09 12:21:02322ブラウズ

What's the Difference Between Primitive and Reference Values in JavaScript?

JavaScript におけるプリミティブ値と参照値

プログラミングでは、変数にはプリミティブ値と参照値の 2 種類の値を格納できます。

原始的値

プリミティブ値は、数値、文字列、ブール値などの単純で不変のデータ型です。これらは、変数のメモリ空間に直接保存されます。

参照値

参照値は、メモリ内の別の場所に保存されているオブジェクトへの参照です。オブジェクト自体は保存されませんが、代わりにオブジェクトを指すメモリ アドレスが含まれます。

変数の保存

JavaScript では、プリミティブは変数のメモリ空間に保存されます。 。たとえば、値 10 を x という変数に代入すると、

var x = 10;

数値 10 は x のメモリに直接保存されます。

一方、オブジェクト (配列、オブジェクト、関数など)はヒープから割り当てられます。オブジェクトを変数に割り当てると、変数にはオブジェクト自体ではなく、オブジェクトの参照 (メモリ アドレス) が格納されます。

var object = { a: 1, b: 2 };
var reference = object; // `reference` is now a reference to `object`

値と参照のパスバイ

変数を関数に渡すとき、プリミティブは値によって渡されます (実際の値のコピーが作成されます)。ただし、参照値は参照によって渡されます (参照自体が渡されます)。これは、参照変数を通じてオブジェクトに加えられた変更は、元のオブジェクトにも反映されることを意味します。

結論

プリミティブ値と参照値の違いを理解するJavaScript で変数を操作する場合に重要です。プリミティブは変数のメモリに直接格納されますが、参照にはメモリ内の別の場所に格納されたオブジェクトを指すアドレスが含まれます。プリミティブのパスバイ値により独立したコピーが確保され、オブジェクトのパスバイ参照により、元のオブジェクトとその参照間で変更を同期することができます。

以上がJavaScript のプリミティブ値と参照値の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。