仕事では、変数/プロパティが未定義かどうかを判断する必要があることがよくあります。通常は2つの書き方があります
次のようにコードをコピーします。
// 方法 1
年齢の種類 === '未定義';
// 方法 2
年齢 === 未定義
これら 2 つの書き方に違いはありますか? どちらを使用する必要がありますか?次の例を見てください。
次のようにコードをコピーします。
typeof age === '未定義' // true
識別子 age が宣言されていないため、true が出力されます。
別の例を見てみましょう
次のようにコードをコピーします。
age === 未定義 // エラーレポート
Firebug プロンプトでは年齢が定義されていません。
これが 2 つの違いです。つまり、年齢が宣言されているか定義されているかが不明な場合は方法 1 を使用し、確実である場合は方法 2 を使用できます。変数がメソッド 1 を使用して宣言されていない場合、コードはエラーを報告しませんが、メソッド 2 はエラーを報告します。方法 1 の方が耐障害性が高いように見えますが、実際には隠れたバグです。変数を使用する前に宣言することを常にお勧めします。
また、方法 1 は 2 回の操作、方法 2 は 1 回の操作です。