Dart与JavaScript &&等效,可能具有空值

时间:2019-01-21 22:51:40

标签: dart

有一个通用的JavaScript习惯用法(也用于其他几种语言),以便在某些情况为空时使用替代值。

return theValue || "don't know";

Dart有一种类型安全的替代方法,它不依赖于隐式的真实/虚假转换,并且在80%到90%的情况下都执行相同的操作:

return theValue ?? "don't know";

或类似的JavaScript:

myValue = myValue || "don't know";

在Dart中:

myValue ??= "don't know";

JavaScript也有类似的习惯用法,可以有条件地使用可能具有null值的内容进行操作:

return theValue && theValue.shoeSize;

Dart的类型安全替代项:

return theValue?.shoeSize

但是Dart没有涵盖一个非常常见的情况:

return theValue && getShoeSize(theValue);

在Dart中:

return theValue == null ? null : getShoeSize(theValue);

考虑一下,如果Dart拥有这样的运算符,它可能会像这样:

return theValue ?& getShoeSize(theValue);

或类似的东西。由于文档中几乎没有类似的东西出现,因此我认为带有显式? null :的标准三进制是Dart程序员所做的最好的事情?

0 个答案:

没有答案