JavaScript でエラーをスローすることなく、変数が存在するかどうか (変数が {} に割り当てられていない場合) を確認できるようにする必要があります。このコードを試すと
if (a) {}
uncaughtReferenceError をスローします
私が本当にやりたいことは、エラーをスローせずに次のようなことです:
a = a || {}
または多分それはこのように見えます
if (a) { a = {} }
JavaScript でエラーをスローすることなく、変数が存在するかどうか (変数が {} に割り当てられていない場合) を確認できるようにする必要があります。このコードを試すと
if (a) {}
uncaughtReferenceError をスローします
私が本当にやりたいことは、エラーをスローせずに次のようなことです:
a = a || {}
または多分それはこのように見えます
if (a) { a = {} }
if (typeof a === 'undefined'){
// variable is not available and you can write a = {}
}
しかしa = a || {}
まもなく
がグローバルの場合、グローバル オブジェクトa
を使用してエラーを回避できます。ブラウザでは、そのオブジェクトは次のとおりです。window
window.a = window.a || {};
または、Ozerich が提案したように、typeof
参照エラーをスローしない を使用できます。
if (typeof a === 'undefined') {
a = {};
}