空条件运算符

22 浏览
0 Comments

空条件运算符

C# 6.0刚刚发布,其中有一个我非常想在JavaScript中使用的新功能,它被称为"Null-conditional operators"。这些操作符使用"?."或"?[]"语法。

它们的作用是在尝试访问属性之前,检查所拥有的对象是否为null。如果对象为null,那么访问属性将返回null作为结果。

"int? length = customers?.Length;"中的int可以为null,如果customers为null,它将取该值。更好的是,你可以链式调用它们:"int? length = customers?.orders?.Length;"。

我认为在JavaScript中我们无法这样做,但我想知道有没有更简洁的方法来实现类似的功能。通常,我觉得使用if语句块链式调用很难阅读:"var length = null; if(customers && customers.orders) { length = customers.orders.length; }"。

0