親ドキュメントのオブジェクト リテラルに設定されているいくつかの変数を使用する <iframe> があります。これらの変数はオプションです。それらが設定されている場合は、それらの値を使用して、より簡潔なグローバル変数に割り当てます。そうでない場合は、関数 error() を呼び出します。
まず、この三項演算子文は自分のやりたいことに有効で有効でしょうか?ここに潜在的なトラップはありますか?
parent.settings.account ? var account = parent.settings.account : error();
第二に、そのステートメントを書くためのより簡潔な方法はありますか?
これらの変数のいくつかはオプションですが、定義されている場合、許容値の範囲があります。これを処理するための堅牢な方法は何ですか? このようなもの?
if (parent.settings.polling_interval && parent.settings.polling_interval >= 1000 && parent.settings.polling_interval <= 5000) {
var polling_interval = parent.settings.polling_interval;
} else {
var polling_interval = 3000; // default
}
基本的に未定義や範囲外の場合はデフォルト値を使いたい。
次のような条件文だけに頼ることはできますか?
if (parent.settings.polling_interval) { ... }
または、このように未定義かどうかを確認する必要がありますか?
if (typeof parent.settings.polling_interval !== 'undefined') { ... }
より堅牢で簡潔なものはありますか?アドバイスをありがとう。