Ответ 1
??
указывает, отсутствует ли значение операнда левой руки (это означает, что это Java null
или у вас есть переменная undefined) и возвращает false
(отсутствует) или true
(не пропущено) соответственно.
?has_content
очень похож на ??
, за исключением того, что он также возвращает false
для пустой строки или пустого списка или пустой карты. (Он не возвращает false
для a 0
, boolean false
и т.д.)
!
используется для указания значения по умолчанию, когда отсутствует значение, например color!"no color"
. Если вы опускаете правый операнд !
, то по умолчанию это пустая строка и пустая последовательность и пустой хэш в одно и то же время.
?if_exists
- это старый способ записи ??
. Не используйте его.