операторы присваивания правоассоциативны

рассмотрим следующее утверждение

а=б=3; console.log(а,б);

он присвоит значение b 3, а затем значение b (справа налево)

рассмотреть следующее

console.log((1 + 2) * 3);

Как вы думаете, что будет на выходе? Ну, если вы сказали 7 , вы правы. Скобки изменяют порядок операции, поскольку эта функция имеет более высокий приоритет.

он сначала проверит умножение, так как его наивысший приоритет, а затем выполняется добавление

он умножит 2 на 3 и прибавит к 1, что выведет 7

Выход будет undefined. Согласно правилу associativity операторы с одинаковым приоритетом обрабатываются на основе свойства ассоциативности оператора. Здесь ассоциативность оператора присваивания равна Right to Left, поэтому сначала будет вычисляться typeof y, то есть undefined. Он будет присвоен z, затем y будет присвоено значение z, а затем z будет присвоено значение 1.

Группировка:

Группировка — это оператор с наивысшим приоритетом. Разработчики JavaScript обычно используют круглые скобки для управления порядком операции. Поскольку группировка имеет наивысший приоритет, они всегда вычисляются первыми.

угадать вывод console.log(5-(1*2+3));

если ты угадаешь 6 это неправильно

он сначала вычислит, что находится внутри этой группы 1 * 2 + 3, что равно 5, и добавит к внешним операторам, так что его 5–5, что дает 0

если нет группировки, получится 5–2+3=>3+3, то есть 6, если не сгруппировано.

Логические операторы

  • ?? — Нулевое слияние
  • ! - НЕТ
  • && - И
  • || — OR

Нулевое слияние

Нулевой оператор объединения (??) является наименее используемым оператором из всех логических операторов. Этот оператор возвращает правый операнд, когда левый операнд имеет значение null или не определен.

(работает слева направо)

он даст значение, если оно не равно null, поэтому вывод «jay»

для этого он вернет истинное значение, поскольку значение равно нулю

НЕ Оператор:

Логический оператор НЕ (!) имеет наивысший приоритет среди всех логических операторов. Этот оператор переводит истину в ложь. Когда этот оператор используется с нелогическим значением, он возвращает false, если его единственный операнд может быть преобразован в true; в противном случае возвращается true.

вывод: возврат, когда логическое значение ложно

вывод: печатает не логические значения

Логическое И:

логическое И (&&) возвращает истину, если набор операндов истинен, и возвращает ложь в противном случае. Большую часть времени этот оператор используется с логическими значениями, и когда бы это ни было, он всегда возвращает логическое значение. Если этот оператор используется с нелогическими значениями, он вернет нелогическое значение.

Логическое ИЛИ:

логическое ИЛИ (||) возвращает истину, если внутри набора операндов хотя бы один или несколько его операндов истинны; в противном случае возвращается ложь. Если этот оператор используется с нелогическими значениями, он вернет нелогическое значение.

ВЫВОД: правда