Открыть список
Как стать автором
Обновить

Комментарии 4

НЛО прилетело и опубликовало эту надпись здесь
x &&= y эквивалентно x && (x = y), но не эквивалентно x = x && y.
x ||= y эквивалентно x || (x = y), но не эквивалентно x = x || y.

Не понял, в чем разница? По таблицам истинности очень даже эквивалентно. В JS ведь нельзя переопределять операторы.


Кстати, читать таблицу истинности в формате


0 0
0 1
1 1
1 0

неудобно. Лучше изменить на традиционный


0 0
0 1
1 0
1 1
Разница в том, что x = x && y всегда присваивает (переписывает) значение.
const obj = {
    x: 5,
    set x(a) {
        console.log('here');
    }
};

obj.x &&= 4; // сеттер здесь не вызывается
obj.x = obj.x && 4;
Разница будет если x — это свойство, у которого определен сеттер с сайд-эффектами
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Информация

Дата основания
Местоположение
Россия
Сайт
timeweb.com
Численность
201–500 человек
Дата регистрации

Блог на Хабре