1. ホーム
  2. javascript

[解決済み] JavaScriptでnullまたはundefinedの場合、値を置き換える

2022-04-22 18:02:35

質問

を適用する要件があります。 ?? 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

どうすれば正しくできるのか?

ありがとうございます。

EDIT: 問題の半分を発見しました。「indexer」記法をオブジェクト( my_object[0] ). これを回避する方法はありますか?(私は事前にフィルタのプロパティの名前を知らないし、それらを繰り返し使用したくない)。

解決方法は?

以下は、JavaScriptに相当します。

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

ただし 論理演算子 || はブール値を返さず、最初に変換される値を .

さらに、1つのオブジェクトではなく、オブジェクトの配列を使用します。

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

それはインデックスでアクセスすることができます。