1. ホーム
  2. javascript

[解決済み] JavaScriptで変数が存在するか(定義されているか/初期化されているか)をチェックする

2022-03-16 03:12:11

質問

変数が初期化されたかどうかをチェックする方法として、どちらが良いか、正しいか? (変数には何でも(文字列、int、オブジェクト、関数など)格納できると仮定して)

if (elem) { // or !elem

または

if (typeof elem !== 'undefined') {

または

if (elem != null) {

解決方法は?

その typeof 演算子は、その変数が本当に未定義であるかどうかをチェックします。

if (typeof variable === 'undefined') {
    // variable is undefined
}

typeof 演算子は、他の演算子とは違って 参照エラー 例外が発生します。

ただし、以下の点に注意してください。 typeof null が返されます。 "object" . 変数を初期化してしまうという失敗をしないように注意しなければなりません。 null . 念のため、代わりにこのようなものを使ってみましょう。

if (typeof variable === 'undefined' || variable === null) {
    // variable is undefined or null
}


厳密な比較の使用に関する詳細はこちら === 単純な等号ではなく == を参照してください。
JavaScriptの比較では、どちらの等号演算子(== vs ===)を使うべきですか?