元と参照
1680 ワード
元のデータ型とは、固定記憶領域を占有するデータが元のタイプ(元のタイプ)のデータであることを意味します.
元のデータ型は6種類あり、オブジェクトではありませんが、メソッドはありません.
文字列、number、bigint、boolean、undefined、symbol、null.
元の資料型は1つのデータしか収容できず、データサイズは固定されています.
参考資料型とは、元の資料型ではないすべてのデータ型を参考資料型と呼ぶ.代表的なのは、関数、オブジェクト、配列です.
参照データ型を変数に割り当てると、値ではなくheapという名前の記憶領域アドレスが変数に格納されます.
heapという名前のストレージスペースは、固定されたデータサイズではなく動的です.
簡単な画像とコードでさらに説明します.
リファレンス型は値そのものではなく,スタックに格納されたアドレス値を格納する.
すなわち,aは宣言されたアドレスを見つけて値を読み出した後,その値もheapのアドレス値であることを発見し,heapに存在するアドレス値の価値を取得する.
したがって、contとして宣言した後に配列の値を変更しても、その記憶領域の価値はheap記憶領域のアドレス値であるため、contと宣言した場合、その配列の値を変更しても問題はない.
コードにおいてaがbに単純に割り当てられるのは浅いコピーであるため(後述する)、記憶空間内の同じメモリアドレスを参照するため、a値を変更すると、bは012 c 4というアドレスに割り当てられるため、bは[0,50,40]の値も持つ.
元のデータ型は6種類あり、オブジェクトではありませんが、メソッドはありません.
文字列、number、bigint、boolean、undefined、symbol、null.
元の資料型は1つのデータしか収容できず、データサイズは固定されています.
参考資料型とは、元の資料型ではないすべてのデータ型を参考資料型と呼ぶ.代表的なのは、関数、オブジェクト、配列です.
参照データ型を変数に割り当てると、値ではなくheapという名前の記憶領域アドレスが変数に格納されます.
heapという名前のストレージスペースは、固定されたデータサイズではなく動的です.
const a = [0, 50]
const b = a;
a.push(40);
console.log(b) // [0, 50, 40]
簡単な画像とコードでさらに説明します.
リファレンス型は値そのものではなく,スタックに格納されたアドレス値を格納する.
すなわち,aは宣言されたアドレスを見つけて値を読み出した後,その値もheapのアドレス値であることを発見し,heapに存在するアドレス値の価値を取得する.
したがって、contとして宣言した後に配列の値を変更しても、その記憶領域の価値はheap記憶領域のアドレス値であるため、contと宣言した場合、その配列の値を変更しても問題はない.
コードにおいてaがbに単純に割り当てられるのは浅いコピーであるため(後述する)、記憶空間内の同じメモリアドレスを参照するため、a値を変更すると、bは012 c 4というアドレスに割り当てられるため、bは[0,50,40]の値も持つ.
Reference
この問題について(元と参照), 我々は、より多くの情報をここで見つけました https://velog.io/@boltang2/원시자료형과-참조자료형テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol