ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptにおける基本データ型と参照型の違いの分析

JavaScriptにおける基本データ型と参照型の違いの分析

不言
不言オリジナル
2018-09-14 15:55:262514ブラウズ

この記事では、JavaScript における基本的なデータ型と参照型の違いについて説明します。必要な方は参考にしていただければ幸いです。

はじめに

JS には 6 つの型しかありません。そのうちの 5 つの基本的なデータ型は、string、number、boolen、null です。参照型は 1 つです。オブジェクトは大きな複合体であり、JS の 5 つの基本データ型を除いて、その他はすべてオブジェクトです。

テキスト

2 つの対照的な例

基本データ型
var a = 100;
var b = a;
a++

console.log(a)//101
console.log(b)//100
参照型 (オブジェクト)
var obj1 = new object();
var obj2 = new object();
    obj1.age = 18;
    obj2 = obj1;
    obj1.age++

console.log(obj1.age)//19
console.log(obj2.age)//19

上記で確認できます。両方例では、割り当てられる基本的なデータ型は変更されませんが、それに応じて割り当てられる参照も変更されるのはなぜでしょうか。これは実際には非常に単純で、一文に要約できます。基本データ型は値を格納するのに対し、参照型はアドレスを格納するためです。

説明例

新しい変数が作成されると、それがオブジェクトの場合は、領域をさらに大きなヒープに分割して、そのオブジェクトに格納されます。スタック上にあるのはヒープ内のアドレスです。

基本データ型

JavaScriptにおける基本データ型と参照型の違いの分析

上記のように、基本データ型は、変更時に値をスタックに直接保存します。 , b は変化しません。b は a の値に等しいだけであり、a とは何の関係もないからです。

参照型 (オブジェクト)

JavaScriptにおける基本データ型と参照型の違いの分析

obj1 と obj2 に格納されるのはアドレスであり、obj2 はアドレスと等しくありません。 obj1 の値はヒープに格納されている obj1 のアドレスと等しいため、アドレスの内容が変更されると、obj2 の内容も変更されます。新しいオブジェクトが作成される限り、オブジェクトのプロパティ、メソッドなどを保存するための新しい領域がヒープ内に開かれます。

関連する推奨事項:

JavaScript の基本型と参照型を me_javascript スキルで学びましょう

JavaScript の型と参照型の基礎_基礎知識

以上がJavaScriptにおける基本データ型と参照型の違いの分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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