1. ホーム
  2. javascript

[解決済み] 変数 === undefined vs. typeof 変数 === "undefined"

2022-03-16 14:08:38

質問

その jQueryコアスタイルガイドライン は、変数が定義されているかどうかをチェックするための2つの異なる方法を提案しています。

  • グローバル変数。 typeof variable === "undefined"
  • ローカル変数。 variable === undefined
  • プロパティーです。 object.prop === undefined

なぜjQueryは、グローバル変数にはあるアプローチを使い、ローカルやプロパティには別のアプローチを使うのですか?

どのように解決するのですか?

未宣言の変数について。 typeof foo は文字列リテラルを返します。 "undefined" 一方、IDチェックは foo === undefined というエラーが発生します。 "foo is not defined" .

ローカル変数( 知っている がどこかで宣言されている場合、そのようなエラーは発生しないため、同一性チェックが行われます。