Ich habe eine Anforderung, den ??
C# -Operator auf JavaScript anzuwenden, und ich weiß nicht wie. Betrachten Sie diese in C#:Ersetze einen Wert, wenn null oder undefined in JavaScript
int i?=null;
int j=i ?? 10;//j is now 10
Jetzt habe ich dies in JavaScript eingerichtet:
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
Wie kann ich es richtig machen?
Danke.
EDIT: Ich habe die Hälfte des Problems entdeckt: Ich kann nicht die "Indexer" -Notation zu Objekten (my_object[0]
) verwenden. Gibt es eine Möglichkeit, es zu umgehen? (Ich kenne die Namen der Filtereigenschaften vorher nicht und möchte sie nicht durchlaufen).
Beachten Sie, dass dies nicht funktioniert, wenn 0 ein gültiger Wert ist von i. – jt000
Wenn irgendetwas falsch ist eine potentiell gültige Eingabe ('0',' false', leere Zeichenfolge), würde ich stattdessen so etwas tun: 'var j = (i === null)? 10: i; 'Das wird nur" null "ersetzen, anstatt alles, was als falsch bewertet werden kann. – DBS
Gibt es dafür in Groovy ein Entsprechendes? – user6123723