Тернарные операторы
?:
Условный тернарный оператор
?:
Условный тернарный операторВыражение (expr1) ? (expr2) : (expr3)
интерпретируется как expr2, если expr1 имеет значение true
, или как expr3, если expr1 имеет значение false
.
Кророткий тернарный оператор (expr1) ?: (expr2)
Цепочка коротких тернарных операторов (?:
) вернёт первый аргумент, который оценивается как не ложное значение.
??
Оператор объединения с null
??
Оператор объединения с nullВыражение (expr1) ?? (expr2)
вычисляется так: expr2
, если expr1
равен null
и expr1
в противном случае.
То же самое что и ?: но возвращает первый результат который не null. То есть вернёт даже false
, главное что бы не null
.
Удобно использовать для определения дефолтного значения, если первый операнд равен null.
Так же ?? можно использовать для проверки существования ключей массива, если таких ключей нету, то он присвоит следующуе значение и не вызовет ошибку.
Last updated