ホームページ >ウェブフロントエンド >jsチュートリアル >クイックヒント:JavaScriptの機能がどのように機能するか

クイックヒント:JavaScriptの機能がどのように機能するか

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌オリジナル
2025-02-17 08:46:19828ブラウズ

JavaScript参照を理解する:深いダイブ

Quick Tip: How JavaScript References Work

重要な概念:

  • javaScriptは、プリミティブタイプ(数字、文字列、ブールン、undefinednull、シンボル)にパスバリューを使用し、化合物タイプ(オブジェクトと配列)のパスごとに参照します。 typeof演算子は割り当て方法を決定します JavaScriptの参照は、他の変数ではなく、データを直接指します。 プリミティブ値は不変です。化合物値は可変です。複合値を再割り当てすると、新しい参照が作成されます
  • 複合値を関数に渡すと、参照されるデータの関数が関数の外側に反映されます。 ただし、関数内のパラメーターを再割り当てすると、新しい参照が作成され、元のものが変更されません。
  • 要するに、
  • JavaScriptの参照動作は、明示的なポインターを持つ言語とは大きく異なります。 複合データ構造のみが参照によって渡されます

用語:

Quick Tip: How JavaScript References Work スカラー:

単一のデータユニット(整数、ブールアンなど)。

化合物:

複数のデータ単位(例:配列、オブジェクト)。
  • プリミティブ:直接的な値、リファレンスではありません。
  • 注:JavaScriptのスカラータイプは、スカラーリファレンスタイプを備えた一部の言語(Rubyなど)とは異なり、プリミティブです。 JavaScriptのプリミティブ値は不変であり、複合値は可変です。 この記事はもともとMediumで公開されました キーポイントの概要
  • 概要:

オペレーターは、値が値によって割り当てられるのか、参照によって割り当てられるかを決定します。

プリミティブは値によって割り当てられます。化合物値は参照によって割り当てられます。

参照は、他の変数や参照ではなく、データを指します。

プリミティブは不変です。化合物値は可変です。

  1. 例:typeof
  2. パスバイバリュー(プリミティブ):

パスバイレファレンス(複合値):

<code class="language-javascript">let batman = 7;
let superman = batman;   //assign-by-value
superman++;
console.log(batman);     //7
console.log(superman);   //8</code>

Quick Tip: How JavaScript References Work 新しい参照の作成:

複合値を再割り当てすると、新しいリファレンスが作成されます:

<code class="language-javascript">let flash = [8, 8, 8];
let quicksilver = flash;   //assign-by-reference
quicksilver.push(0);
console.log(flash);        //[8, 8, 8, 0]
console.log(quicksilver);  //[8, 8, 8, 0]</code>

Quick Tip: How JavaScript References Work 関数の参照:

<code class="language-javascript">let batman = 7;
let superman = batman;   //assign-by-value
superman++;
console.log(batman);     //7
console.log(superman);   //8</code>

関数内の元の化合物値の変更:

<code class="language-javascript">let flash = [8, 8, 8];
let quicksilver = flash;   //assign-by-reference
quicksilver.push(0);
console.log(flash);        //[8, 8, 8, 0]
console.log(quicksilver);  //[8, 8, 8, 0]</code>

浅いコピーの作成:

<code class="language-javascript">let firestorm = [3, 6, 3];
let atom = firestorm;   //assign-by-reference
atom = [9, 0, 9];         //value is reassigned (creates new reference)
console.log(firestorm); //[3, 6, 3]
console.log(atom);      //[9, 0, 9]</code>

Quick Tip: How JavaScript References Work

参照によるプリミティブの割り当て(オブジェクトを使用):

<code class="language-javascript">let magneto = [8, 4, 8];
(function(x) {        //IIFE
    x.push(99);
    x = [1, 4, 1];      //reassign variable (creates new reference)
    x.push(88);
})(magneto);
console.log(magneto); //[8, 4, 8, 99]</code>

結論:

Quick Tip: How JavaScript References Work

JavaScriptの参照システムを理解することは、効率的でバグのないコードを作成するために重要です。

(faqsセクションは簡潔に省略されていますが、ニーズに基づいて再添付される可能性があります。)

以上がクイックヒント:JavaScriptの機能がどのように機能するかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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