10

私は通常、オブジェクトのプロパティを次のように設定します。

// Boolean
this.listening = config.listening || true;

ただし、config.listeningは true または false のいずれかであり、この場合this.listeningは常に trueconfig.listeningになります。

if ステートメントを実行せずにこれらのブール値のプロパティを設定するより良い方法はありますか?

それが等しいものではなく、それが存在することを確認するためのif isset関数がjavascriptにありますか?

4

2 に答える 2

16

次のように三項 (条件付き) 演算子を使用できます。

this.listening = config.listening === false ? false : true;

の場合、config.listeningに設定されます。それ以外の値の場合は、 に設定されます。falsethis.listeningfalsetrue

定義されているかどうかを確認したい場合は、次を使用できます。

this.listening = typeof config.listening !== "undefined"

参考文献:

于 2013-05-08T13:33:28.137 に答える
3

「誤った」値ではなく、未定義ではないことを確認する必要があります。

this.listening = config.listening!==undefined ? config.listening : true;
于 2013-05-08T13:34:51.637 に答える