スタック: 関数パラメータ値、ローカル変数値などを保存するために、オペレーティング システムによって自動的に割り当ておよび解放されます。基本的なデータ型はスタックに配置されます。ヒープ: 通常、プログラマによって割り当ておよび解放されます。プログラマが解放しない場合、ガベージ コレクション メカニズム
によって再利用されます。複雑なデータ型はヒープに配置されます。
基本データ型: number:数値、string:文字列、boolean:Boolean(ブール値)、undefine:未定義型、null:Null型、symbol:Symbol(シンボル)
複雑なデータ型: オブジェクト、配列、関数、新規
js ガベージ コレクション メカニズム:
これは、使用されなくなった変数とオブジェクトを自動的に識別し、それらをメモリから消去してメモリ領域を解放できる自動メモリ管理メカニズムです。
JS メモリのライフ サイクル:
1. メモリ割り当て: 変数、関数、オブジェクトを宣言すると、システムはそれらに自動的にメモリを割り当てます。
2. メモリ使用量: メモリの読み取りと書き込み、つまり変数、関数などの使用。
3. メモリのリサイクル: 使用後、不要になったメモリはガベージ コレクターによって自動的にリサイクルされます。
注: グローバル変数は通常リサイクルされません (ページのリサイクルをオフにします)。
通常の状況では、ローカル変数の値は、使用されない場合には自動的にリサイクルされます。
メモリ リーク: プログラムに割り当てられたメモリが解放されない、または他の理由で解放されない場合、メモリ リークと呼ばれます。
リサイクル方法:マーククリア、リファレンスカウント。