変数とメモリ容量
3409 ワード
変数とメモリ容量
メモリ
コンピュータは、メモリにデータを格納し、CPUを使用して演算します.CPUの動作は、メモリから必要なデータを取得して演算し、結果をメモリに再記憶することです.メモリは、データを大量に格納できるメモリユニットで構成されています.各セルには一意のアドレス値があります.
JavaScriptでは、開発者がメモリを直接制御することはできません.アドレス値に直接アクセスすると、致命的なエラーが発生する可能性があります.また、メモリのアドレス値は、プログラムが実行されるたびに変更される可能性のある値なので、直接使用するのは良い方法ではありません.
へんすう
JavaScriptでは、変数を使用してメモリ領域にアクセスできます.宣言変数とは、変数がメモリ空間アドレスの象徴的な意味であるため、特定のメモリ空間を取得することです.(より正確には、識別子はメモリアドレスにマッピングされ、変数は識別子に含まれる.)
したがって,変数をメモリ空間のアドレスと呼ぶことで,プログラマが理解できるようにすることができる.データ値が割り当てられている場合、その値はメモリ領域のアドレスに格納されます.これは、データのタイプが元のタイプかオブジェクトのタイプかによって異なります.
let primitiveType = 20; // primitiveType 가 가리키는 메모리 공간에 값 자체를 저장
let objectType = { // objectType 가 가리키는 메모리 공간에 객체의 주소 값을 저장
name : "object"
};
let kim = {
age : 20
};
let lee = {
age : 20
};
console.log(kim === lee); // false
console.log(kim.age === lee.age); // true
primitiveType
変数には、20という元のタイプの数値が指定されています.primitiveType
が指すメモリ領域に格納される値自体は20である.objectType
変数にオブジェクトを割り当てると、オブジェクトは保存されません.objectType
が指すメモリ空間に格納されるのは、別のメモリ空間のアドレスである.このアドレスに到達してこそ、オブジェクトの情報にアクセスできます.変数
kim
と変数lee
のオブジェクトの外観は完全に一致しているが、これは2つのオブジェクトを比較するときにfalse値が現れる理由である.これは、2つのオブジェクトが異なるアドレスを指しているためです.2つのオブジェクトの外観が同じであっても、まったく異なるアドレスに格納されます.でも金.年齢とleeageという名前の式は20の数値で表示されます.したがって、この2つの値を比較すると、trueという値が表示されます.
outro
個人的には何かを学ぶ過程と階段を登るのとは差が少ないと思います.ある瞬間、理解範囲が広くなった経験があるからです.
모던 자바스크립트 Deep Dive
を読んだとき、11章を読んだ後、4章の変数に関する内容をより具体的に理解し始めました.そこで、今日のブログを変数とメモリスペースについて整理します.今日のすべてのブログは
모던 자바스크립트 Deep Dive
4章と11章に基づいています.個人的にはこの間Boot Campで学んだことを復習するのに適した本だと思います.ぜひ読んでみてくださいReference
この問題について(変数とメモリ容量), 我々は、より多くの情報をここで見つけました https://velog.io/@eensungkim/변수와-메모리-공간テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol