ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript は値渡しですか、それとも参照渡しですか?

JavaScript は値渡しですか、それとも参照渡しですか?

Barbara Streisand
リリース: 2024-12-21 08:23:10
オリジナル
694 人が閲覧しました

Does JavaScript Pass by Value or by Reference?

JavaScript: 参照渡しまたは値渡し

JavaScript は参照渡しですか、それとも値渡しですか?

JavaScript はハイブリッド アプローチを採用しており、値によってプリミティブを渡し、「コピー」によってオブジェクト (配列を含む) を渡します。 "

値の受け渡しについて

プリミティブ データ型 (文字列、数値、ブール値など) は複製され、独立した値として渡されます。関数内で渡されたプリミティブの値を変更しても、元の変数には影響しません。

参照の受け渡しについて

オブジェクトはメモリ アドレスを参照し、渡されると参照します。呼び出し元と同じオブジェクトに送信されます。関数内でオブジェクトの内容に加えられた変更は、元のオブジェクトに反映されます。ただし、新しい参照 (例: ref = {}) を割り当てると、元の参照ではなく、参照のローカル コピーが変更されるだけです。

使用例

提供されたコード スニペット:

  • shape 関数は、構成オブジェクトを取得し、プロパティを抽出し、新しいオブジェクトを返します。 object.
  • rectangle 関数は、追加のプロパティを導入し、新しいオブジェクトを返すことによって形状を拡張します。
  • プリミティブ プロパティ名 (myShape および myRec 内) は、値で渡されるため、関数内では影響を受けません。
  • オブジェクト プロパティ my (myRec 内) は、元のオブジェクトへのコピーされた参照を表し、その内容 (my.l や my.l など) の変更を許可します。私w)。新しい参照を割り当てても、元のオブジェクトには影響しません。
  • area() 関数は、my へのローカル参照を使用して、更新されたオブジェクトのプロパティを計算し、アクセスします。

以上がJavaScript は値渡しですか、それとも参照渡しですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート