ぶっちゃけJavaScriptのLintツールであるeslint等を導入すれば
変数が定義されているか否かなんて一目で分かるのでこんな事書く必要は1ミリもありません。
未定義の変数を使おうとした時点で該当の行にマークが点いたり光って教えてくれます。
その上であえて調査しなければならないのであれば、
恐らくそれはJavaScriptの古いコードのメンテナンスでしょう。
例えばjQueryのライブラリを導入すると、
JavaScriptは外部ファイルを読み込んで連携するという機能がありませんので、
グローバル変数領域にjQuery
や$
等の変数名を定義して解決しようとします。
(最新ブラウザに限り<script type="module">
を併用したESModules機能を使えば近い事は可能になりました。)
JavaScriptで変数の存在をチェックする。それがundefinedかどうか。グローバルに宣言されているか。
thisは作ったスコープに紐付けられたプロパティが無ければ上に遡ります。
そして最終的にはグローバル変数領域に通じていますので、ブログ記事のコードでグローバル変数領域で定義されているか否かを判別することが可能です。
適当な関数内からthisに向かって問い合わせてみましょう。
ちなみにデベロッパーツール上のコンソールはthisが定義済みなので、
下記のようなコードを打ち込んで直接確認が可能です。
JavaaScript
1> 'a' in this
2false
3
4> 'window' in this
5true
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/21 08:54
退会済みユーザー
2019/01/21 09:04
2019/01/21 09:06
2019/01/21 09:09
退会済みユーザー
2019/01/21 09:13
2019/01/21 09:23