私はいつもこの問題を抱えています。私は常に変数が存在するかどうかをチェックしなければならず、そうでなければエラーが出ます。以下のコードのようにjavascriptでエラーが発生することなくプロパティの安全性を使用
if (something) {
var data = {
date: moment()
};
}
var x = new F({
param: param,
date: data.date || null //<-- still error
})
何か変数が存在する可能性がありますが、私は安全にdate.dateを使用できません。私はこの問題を解決するために新しい変数を作成する必要があります。同様
if(data){ date = data.date }
しかし、それより短い解決法はありますか?
日付:(データ|| {})。日付|| null // - エラーはありません。しかし、悪く見える:D。 –
はい、問題ですが、必要以上に難しくなっています。時には 'data'をインスタンス化するだけでなく、常にそれを行い、条件が合格すればプロパティを追加します。そうすれば、 'data'が' undefined'であることからあなたを守る必要はなく、あなたはそれが持っているかどうかだけを気にします。実際、あなたは '||その場合、 'date'プロパティがなければ' undefined'を取得するだけです。 – vlaz