Call by Reference


参照変数と一般変数

  • 参照変数:オブジェクトを変数
  • に宣言する
  • 汎用変数:デフォルトのタイプを変数に宣言
    -基本タイプ
  • 、例えばBoolean、null、undefined、number、stringなど

    一般変数の値のコピーと変更

  • 一般変数は、値のコピー時に変数の値のみをコピーして出力します.
  • constは変数ではなく定数であるため、値を変更することはできません.
    var a= 12;
    var a2 = a;
    a = 12;
    a2 = 12;
    a === a2 -> true
    //a2값에 변화를 줘보자
    a2 = 14;
    a = 12
    ** a === a2 -> false **
  • 一般変数の値(a)を新しい変数(a 2)にコピーし、新しい変数(a 2)の値を新しい変数(a 2)の値に変更しますが、コピーされた変数(a)の値は変わりません.
  • 参照変数の移動方法について

  • 参照変数の値伝達は、一般変数とは異なる.
  • でコピーされた値を変更すると、新しい変数の値が変更され、新しい変数の値を変更すると、コピーされた値も変更されます.
  • わかりやすい
    私=鄭恵媛(相手)
    恵元
    --価格を変更します.
    恵元
    --結果
    私=Pigi(オブジェクト)
    恵元
    var people = {name : "혜원", hight : 160};
    var p2 = people;
    p2 === people
    // p2값에 변화를 줘보자
    p2.name = "동윤";
    p2 = {name : "동윤", hight : 160}
    peple = {name : "동윤", hight : 160}
  • 参照変数は、コピーされたオブジェクトのプロパティも変更します.2つを
  • に交換
  • では、新しいオブジェクトを作成するときはどうすればいいですか?
  • を直接生成するか、オブジェクトジェネレータを使用する場合はnewを使用して生成します.
  • サマリ

  • 値は、変数が関数の内部で値を変更するが、外部で値を変更することを伝達する.(call by value)
  • 参照伝達変数は、関数の内部で値を変更すると、外部オブジェクトも値を変更します.(call by reference)