№
Условный оператор ?
/ :
в Dart требует всех трех операндов. Это происходит потому, что все выражения должны иметь значение, и если вы могли бы сделать просто e1 ? e2
, то выражение имеет нет значение, если e1
ложно.
Это не невозможно Представьте себе двоичный условный оператор, в котором отсутствующее выражение по умолчанию равно null
, скажем (e1?:elseExpression)
или (e1?thenExpression:)
, но тогда вы также можете просто написать null
, и сохранение четырех букв, вероятно, не стоит потенциальной потери читабельности. .
Обь-придурок. Условный оператор в Dart - это один из двух троичных операторов (операторы, требующие трех операндов, как бинарные операторы, требующие двух операндов), другой троичный оператор - []=
.