[JavaScript]変数
1864 ワード
変数宣言キーワード
キーワードスキャン再宣言varfunction-level scope可能letblock-level scope不可能constblock-level scope不可能
変数宣言キーワードは
var
,let
,const
の3種類がある.変数宣言によって取得されたメモリ領域はundefinedという値のデフォルト割当てによって初期化されます.したがって,値を割り当てずに変数を参照すれば,ゴミ値の危険を回避できる.へんすうかそく
変数、識別子などのすべての宣言は実行時より前に実行され、値の割り当ては実行時に実行されます.したがって,これは変数宣言の動作特徴がコードの前に引き上げられるようにすることを意味する.
console.log(score); // undefined
var score;
c++またはjava、Pythonの場合、エラーのコードが表示されます.変数を宣言する前に変数を使用してもJavaScriptにエラーは発生しません.ただしvarでのみエラーが発生し、letとconstではエラーが発生します.値の再割り当て
変数に値を再割り当てすると、古い値80が格納されているメモリ領域は消去され、再割り当て値90は再保存されません.値を格納する新しいメモリ領域があることを確認します.古い値undefinedと80は不要な値で、
가비지 컬렉터
によってメモリから自動的に無効になります.ただし、メモリからいつ解除されるかは予測できません.ごみ収集器
アプリケーションが割り当てたメモリ領域を定期的にチェックすることで、使用されなくなったメモリを解放し、メモリの漏洩を防止します.
管理言語VS非管理言語
言語の管理
자바스크립트
などのゴミ収集器を内蔵した言語.非仕様言語
c언어
非言語.malloc()
やfree()
などの低レベルのメモリ制御機能を提供し、メモリを明示的に割り当て、解放します.リファレンス
モダンJavaScript Deep Dive,李雄模(2020)
Reference
この問題について([JavaScript]変数), 我々は、より多くの情報をここで見つけました https://velog.io/@zini/JavaScript-4장-변수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol