JavaScript で null または undefined の場合に値を置き換える 質問する

JavaScript で null または undefined の場合に値を置き換える 質問する

C# 演算子を JavaScript に適用する必要があるのです??が、方法がわかりません。C# でこれを考えてみましょう。

int i?=null;
int j=i ?? 10;//j is now 10

これで、JavaScript で次の設定ができました:

var options={
       filters:{
          firstName:'abc'
       } 
    };
var filter=options.filters[0]||'';//should get 'abc' here, it doesn't happen
var filter2=options.filters[1]||'';//should get empty string here, because there is only one filter

どうすれば正しく実行できますか?

ありがとう。

編集: 問題の半分を見つけました。オブジェクト ( ) に「インデクサー」表記を使用できませんmy_object[0]。これを回避する方法はありますか? (フィルターのプロパティの名前は事前にわからないので、それらを反復処理したくありません)。

ベストアンサー1

JavaScript での同等のものは次のとおりです。

var i = null;
var j = i || 10; //j is now 10

注意:論理演算子||ブール値を返すのではなく、変換できる最初の値を返す。真実

さらに、単一のオブジェクトの代わりにオブジェクトの配列を使用します。

var options = {
    filters: [
        {
            name: 'firstName',
            value: 'abc'
        }
    ]
};
var filter  = options.filters[0] || '';  // is {name:'firstName', value:'abc'}
var filter2 = options.filters[1] || '';  // is ''

インデックスでアクセスできます。

おすすめ記事