C# 6.0 został właśnie wydany i ma nową, ciekawą funkcję, której bardzo chciałbym użyć w JavaScript. Nazywają się Null-conditional operators. Używają one składni ?.
lub ?[]
.Null Conditional Operators
To, co robią, pozwala zasadniczo sprawdzić, czy dany obiekt nie jest null
, przed próbą uzyskania dostępu do usługi. Jeśli obiektem jest null
, otrzymasz null
jako wynik dostępu do właściwości.
int? length = customers?.Length;
Więc int
może być null, i weźmie tę wartość, jeśli customers
jest null. Co jest jeszcze lepsze jest to, że można je łańcuch:
int? length = customers?.orders?.Length;
Nie wierzę, możemy to zrobić w JavaScript, ale zastanawiam się, co jest neatest sposób zrobić coś podobnego. Generalnie uważam łańcuchowym if
blokuje trudne do odczytania:
var length = null;
if(customers && customers.orders) {
length = customers.orders.length;
}
Załóżmy przepisać niektóre silniki JavaScript! – JNYRanger
Powiązane: http://stackoverflow.com/questions/476436/is-there-a-null-coalescing-operator-in-javascript – poke
Możesz "var length = customers && customers.orders && customers.orders.length'; – xanatos