ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript の値と参照
JavaScript、またはプログラミングにおいて、変数とは、データを保存するために使用されるコンピューターのメモリ内の場所です。変数は宣言され (名前と識別子が与えられ)、言語に応じて、すぐにまたは後で値を割り当てることができます。この変数は、同じ値を明示的に再度指定するのではなく、プログラムの後半で参照できます。
JavaScript では、データは値の形式で渡されます。これらの値は、プリミティブ値またはオブジェクト値のいずれかになります。 JavaScript 開発者として、JavaScript がデータを処理する方法を理解することは、言語の強力な基礎を身に付けるために非常に重要です。
プリミティブ値には次のものが含まれます:
一方、オブジェクトの値は次のとおりです:
これらの値の型は、渡されるときに異なる動作をします。以下のスニペットを考慮してください。
var myName = "フレッド";
var otherName = myName;
myName = "アシュリー";
console.log(私の名前); //アシュリー
console.log(otherName); //フレッド
otherName は myName の「コピー」のように見えますが、同じままであることに注意してください。実際には、otherName に myName が割り当てられたとき、文字列 "Fred" のコピーとして割り当てられるのではなく、新しい文字列 "Fred" が作成されました。したがって、myName と otherName の間には直接的なリンクはありません。これは、JavaScript がプリミティブ値を渡す方法です。
オブジェクト値は異なる方法で処理されます。以下のスニペットを見てください:
var myObj = {color: "red"};
var otherObj = myObj;
myObj.color = "青";
console.log(myObj.color); //青
console.log(otherObj.color); //青
ここでは、オブジェクトが作成されて myObj に割り当てられ、次に otherObj に割り当てられています。myObj の color プロパティを変更するだけで、otherObj と myObj の両方のカラー プロパティがどのように変更されるかを見てください。これは、オブジェクトの値が参照として渡されるためです。 myObj はオブジェクトを直接参照せず、代わりにその参照を指します。otherObj には、実際のオブジェクトへの参照である myObj が割り当てられます。したがって、両方の変数は同じ参照を指しているため、同じオブジェクトにリンクされており、一方の変更は他方にも影響します。
これが、2 つのオブジェクトの比較 (===) が直接 false を返す理由であり、文字通り 2 つの異なる参照を比較していることになります。ここでは、同じ参照を比較しているため、myObj === otherObj は true を返します。
これにより、JavaScript が舞台裏でどのように動作するかについて、新たな視点が得られることを願っています。
それまではバグのない状態を保ってください。
以上がJavaScript の値と参照の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。