小编典典

如果在 JavaScript 中为 null 或 undefined,则替换一个值

all

我需要将??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])使用“索引器”表示法。有没有办法绕过它?(我事先不知道过滤器属性的名称,也不想遍历它们)。


阅读 84

收藏
2022-08-15

共1个答案

小编典典

这里是 JavaScript 的等价物:

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

请注意,逻辑运算符||不返回布尔值,而是返回第一个可以转换为
true 的值。

另外使用一组对象而不是一个对象:

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

可以通过索引访问。

2022-08-15