元と参照


元のデータ型(Primitive Data Type)


元のデータ型のタイプ
  • Numbers
  • String
  • Boolean
  • Null
  • Undefined
  • Symbols
  • 元のデータ型では、オブジェクトではないため、メソッドはありません.Stringについては驚くかもしれませんが、Javaスクリプトでは元のデータ型Stringをオブジェクトに変換するため、この方法を使用できます.
  • の元のデータ型が変数に割り当てられている場合、特定の値は特定のメモリボックスに配置されていると見なすことができます.
  • および元のデータ型に異なる値を割り当てる変数の場合、この値は新しい変数に格納されます.
  • let name1 = "Jun"; // name1 : "Jun"
    let name2 = name1; // name2 : "Jun"
    
    name2 = "Jack" // name2 : "Jack"
    console.log(name1); // "Jun"
    name 1に元の文字列を指定してname 2にコピーし、name 2を変更した場合、name 1の値は変更されません.

    リファレンスデータ型


    参照タイプ
  • Array
  • Object
  • Function
  • Dates
  • その他のタイプのオブジェクト
  • 元のデータ型とは異なり、参照データ型は非常にダイナミックです.リファレンスタイプについては、固定されたサイズはありません.
    ほとんどのリファレンスタイプはオブジェクトなので、メソッドがあります.
    参照データ型が変数に割り当てられている場合、変数には実際に値は含まれません.実際には、変数は参照データ型のアドレスを格納します.したがって、const宣言を使用しても、値を変更できます.constに割り当てられたリファレンスタイプのアドレスが含まれているため、リファレンスタイプの値を変更してもconstの実際の格納値であるアドレスは変更されません.
    const arr1 = [ 1,2,3 ]
    const arr2 = arr1;
    arr1 // [1, 2, 3]
    arr2 // [1, 2, 3]
    arr2[1] = 17;
    arr2// [1, 17, 3]
    arr1// [1, 17, 3]
    前述したように、arr 1を宣言して割り当てた後、arr 1をarr 2にコピーし、arr 2の1番インデックスの値を変更すると、arr 1の値も変更されることがわかります.
    関連項目:
    https://www.freecodecamp.org/news/primitive-vs-reference-data-types-in-javascript/
    https://dev.to/ykhokhaneshiya/javascript-primitive-vs-reference-types-43dl