変数とキーワード


変数とは、値を格納するために保持されるメモリ領域自体、またはそのメモリ領域を決定するために命名された名前です.
簡単に言えば、変数はプログラミング言語に値を格納して参照するメカニズムであり、値の位置を指す象徴的な名前である.
ES 6の前に変数を宣言するときにvarというキーワードを使用して宣言したが、varに問題があるため、ES 6にletとconstキーワードが現れた.
varの問題?これは、エスケープとグローバルオブジェクトのpropertyに入ることを意味します.varがグローバルに宣言されると、関数レベルのスキャンに従うため、アプリケーションは常に生存します.
生きているのに何か問題がありますか.まず、メモリが漏洩します.これは、メモリ容量が大量に消費されているためです.
その後、varを使用すると変数がハイライトされます.
Hoistingって何ですか?実行コンテキストを学習すると、エスケープが発生したかどうかを知ることができます.
まず、コードの実行順序について説明します.
識別子は、実行時の前に宣言されます.関数宣言およびvarとして宣言された識別子は、実行時よりも前に発生します.varは宣言と同時に初期化されます.
var a = 1; 
/*
var a; <- undefind
a = 1;
*/
変数の割り当て前に参照を行うと、他の言語でエラーが発生します.
私たちのjavascriptはそうではありません!!
console.log(a); // error?  no no -> undefined
var a = 1;
間違いがなければいいですか?そうではありません.このコードを知らないと、開発者の意図通りにコードできないし、エラーも発生しないので、どこでエラーが発生したのか分からないので、かなり悪いです.
だからES 6に出てくるのはletとconstのキーワードです
この2つのキーワードはそれぞれ宣言と初期化され、初期化前に一時的に死角になります.
TMZが発生し、宣言前に参照できなくなり、エラーが発生しました.
letとconstは反発しませんか?これはハウスティンが起こっていないように見えます.
let a = 20;
{
  	console.log(a); // 20? no! Reference Error 발생
	let a = 30; 
}
その後スコップリで学んだのでaが大尉スコップリで探していると思いますが、実は{これとlet aの間は一時的な死角地帯に入り、間違いが発生します.
つまり、無条件ではありませんが、letやconstを使った方がいいと思います.
出版:https://poiemaweb.com/fastcampus/variable