ホストとは?


護衛とは何ですか?


反発とは、変数と関数のメモリ領域を宣言する前に、企業に予め割り当てられていることを意味します.簡単に言えば、JavaScriptでは、変数と関数の宣言は、コードが実行される前にscopeの最上位に移動すると考えられます.
変数と関数は最も上向きに移動するため、変数または関数を定義する前に使用するコードは使用できます.
function catName(name) {
  console.log("제 고양이의 이름은 " + name + "입니다");
}

catName("호랑이");

/*
결과: "제 고양이의 이름은 호랑이입니다"
*/
一般コードを作成します.ただし、次のように作成した関数は使用に影響しません.
catName("클로이");

function catName(name) {
  console.log("제 고양이의 이름은 " + name + "입니다");
}

/*
결과: "제 고양이의 이름은 클로이입니다"
*/
シースは、初期化以外の宣言のみをロードします.したがって、初期化前にロードするとundefinedが出力されます.先に宣言しても初期化されていないためです.
console.log(num); // 호이스팅한 var 선언으로 인해 undefined 출력
var num; // 선언
num = 6; // 초기화
宣言せずに初期化すると、反発がないため、参照エラーが発生します.
console.log(num); // ReferenceError
num = 6; // 초기화

letとconstの反発

letおよびconstもシースのターゲットであるが、varとは異なり、シースは変数をundefinedに初期化しない.したがって、初期化されていないletおよびconstにアクセスしようとすると、Reference Errorが発生します.
関連項目:https://developer.mozilla.org/ko/docs/Glossary/Hoisting