Вход

Просмотр полной версии : Не понял короткую запись


Янковиц
02.10.2019, 11:49
Есть короткая запись:
'hover' === f.event && (f.event = 'mouseover'), 'click' === f.event && (f.event = 'focus'), 'mouseover' === f.event ? g = 'mouseout' : 'focus' === f.event && (g = 'blur')
Помогите её понять

SuperZen
02.10.2019, 12:26
<script>

const f = {
event: 'hover'
}

if ('hover' === f.event) {
f.event = 'mouseover'
} else if ('click' === f.event) {
f.event = 'focus'
}

if ('mouseover' === f.event) {
g = 'mouseout'
} else if ('focus' === f.event) {
g = 'blur'
}

console.log(f, g)

</script>

Янковиц
02.10.2019, 12:29
Спасибо большое

ksa
02.10.2019, 12:31
Помогите её понять
Там особо и понимать не нужно... Явный нидзястайл.
Используется особенность логической операции
Логическое И (&&)
expr1 && expr2
Возвращает expr1, если оно может быть преобразовано к false; в ином случае возвращает expr2. Так что, при вызове с булевыми значениями, && вернет true только если оба операнда истинны, иначе false.
https://javascript.ru/boolean-operators
Для изменения значения у
f.event
// и
g