Il C# 6.0 è appena stato rilasciato e presenta una nuova funzionalità molto carina che vorrei davvero utilizzare in JavaScript. Si chiamano Null-conditional operators. Questi usano una sintassi ?.
o ?[]
.Operatori condizionali nulli
Ciò che è essenzialmente necessario consente di verificare che l'oggetto che si ottiene non sia null
, prima di tentare di accedere a una proprietà. Se l'oggetto è null
, otterrai il null
come risultato dell'accesso alla tua proprietà.
int? length = customers?.Length;
Così qui int
può essere nullo, e che avrà valore se customers
è nullo. Ciò che è ancora migliore è che è possibile concatenare questi:
int? length = customers?.orders?.Length;
Non credo che possiamo farlo in JavaScript, ma mi chiedo qual è il modo più grazioso di fare qualcosa di simile. In generale trovo il concatenamento if
blocchi di difficile lettura:
var length = null;
if(customers && customers.orders) {
length = customers.orders.length;
}
Riscriviamo alcuni motori JavaScript! – JNYRanger
Correlato: http://stackoverflow.com/questions/476436/is-there-a-null-coalescing-operator-in-javascript – poke
Si potrebbe 'var length = customers && customers.orders && customers.orders.length'; – xanatos