ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript におけるホイスティングとは何ですか?
あなたがマジック ショーの準備をしていると想像してください。始める前に、マジシャンはステージで使用するすべてのアイテムを整理し、カード、ウサギ、帽子を適切な場所に置きます。これにより、彼は混乱することなくトリックを行うことができます。
JavaScript では、コードを記述するときに同様のことが起こります。この場合の「マジシャン」は JavaScript であり、プログラムの実行を開始する前にいくつかのことを整理します。この自動構成はホイスティングと呼ばれます。
最初の設定:
JavaScript は、変数と関数のすべての宣言を取得し、それらをコードの先頭に「登ります」。まるで彼がこう言っているかのようです。「始める前に、迷子にならないように重要なものをすべて分離しておきます。」
重要:
宣言のみが先頭に移動され、割り当てられた値は移動されません。あたかも「おい、この魔法の帽子は存在する!」と言っているかのようですが、JavaScript は、コード内で適切なタイミングで帽子が到着したときにのみ、帽子の使い方を理解します。
このコードを参照してください:
console.log(meuNome); // undefined var meuNome = "Jonas"; console.log(meuNome); // Jonas
最初は奇妙に思えます: myName を宣言する前に、JavaScript はどのようにして myName の存在を知るのでしょうか?
これは、彼が舞台裏で次のようなことを行うために発生します:
var meuNome; // Declaração "subiu" console.log(meuNome); // undefined meuNome = "Jonas"; // Valor atribuído console.log(meuNome); // Jonas
言い換えると、変数 myName の宣言を追加しますが、値 "Jonas" を正しい場所に割り当てるだけです。
ここで重要な違いがあります。let または const を使用する場合、JavaScript は宣言する前に変数を使用できません。
チェックしてみてください:
console.log(idade); // Erro: Cannot access 'idade' before initialization let idade = 14;
これは、let と const が特別な領域に「格納」され、宣言した後にのみ使用できるために発生します。
JavaScript の関数も「呼び出されます」。この例を参照してください:
cumprimentar(); function cumprimentar() { console.log("Olá!"); }
関数を宣言する前に呼び出しても、機能します。これは、JavaScript が関数全体をコードの先頭に「登る」ために発生します。
ホイスティングは、JavaScript が非常に組織化された魔術師であるかのようです。実行を開始する前にコードをざっと確認し、すべての変数と関数の宣言を分離し、それから初めてショーが始まります。
しかし、大きな力には大きな責任が伴うということを忘れないでください。理解せずにホイスティングを使用すると、混乱が生じる可能性があります。したがって、コードがより明確でより整理されるように、変数と関数を慎重に宣言してください。
以上がJavaScript におけるホイスティングとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。