createMary. js

Webデザイン/Webフロントエンド勉強中👩🏼‍💻

実行コンテキスト①

JavaScriptのコードが実行されるまで

JSのコードはJSエンジンで実行されます。 そして、コード実行前にはJSエンジンで予め準備されているものがあります。

JSエンジン

  • コード
  • グローバルオブジェクト
  • this

グローバルオブジェクトはブラウザ上ではWindowオブジェクトになります! そのWindowオブジェクトの中にWeb APIs が含まれています。

実際にブラウザ上で確認してみました(><)ノ

適当にindex.htmlファイルとmain.jsファイルを作成し、main.jsには何もコード書いていない状態でindex.htmlファイルを開き、検証ツールでconsoleを出して

consoleの中にwindowと入力すると、windowオブジェクトがたくさん出てきました! この中にはWeb APIs(ブラウザを操作するもの)も含まれています。

f:id:mary_loves_you:20200714172024p:plain


main.jsファイルには何もコードが書かれていないけど、デベロッパーツールのconsoleにwindowと打つとwindowオブジェクトが表示されています

次に、 thisも打ってみると、同じようにwindowオブジェクトが表示されました。

thisはオブジェクトへの参照を保持しているそうなのですが、コンテキストによって、取得できる値は変わってきます!

ここでの大切なポイントは、

  • JS実行前にはグローバルオブジェクトとthisが準備される
  • ブラウザのグローバルオブジェクトはWindowオブジェクトとなる

そして、グローバルオブジェクトは JSエンジンによって生成されるコード内のどこからでもアクセスできるオブジェクトのことです !

大事なことなのでメモメモ(><)ノ