Size: a a a

JavaScript.Ninja

2020 February 24

AF

Andrey Furman in JavaScript.Ninja
чтобы везло надо что-то делать. Илья делал. Я не спрашиваю пошаговую инструкцию. Общие черты
источник

AF

Andrey Furman in JavaScript.Ninja
@rkolpakov и не переживай, я своих заказчиков нахожу сам.
источник

IK

Illya Klymov in JavaScript.Ninja
Andrey Furman
чтобы везло надо что-то делать. Илья делал. Я не спрашиваю пошаговую инструкцию. Общие черты
Илья делал хорошо заказчикам. Underpromise. Overdeliver
источник

IK

Illya Klymov in JavaScript.Ninja
Больше особо ничего
источник

AF

Andrey Furman in JavaScript.Ninja
ок, спасибо
источник

ВП

Виктор Притулюк in JavaScript.Ninja
Illya Klymov
Илья делал хорошо заказчикам. Underpromise. Overdeliver
Underpromise. Overdeliver и соли по вкусу, вот и весь рецепт
источник

A

Alexander in JavaScript.Ninja
Добрый день, друзья!
На прошлой недели мы рассматривали пример приоритетности операторов и ассоциативности. Мы рассмотрели один пример и на этом все закончилось, все вроде как согласились с единственно-верным решением.
У меня, откровенно говоря по данной теме пробел, и я решил его восполнить. В общем я решил проверить еще пару кейсов, чтобы закрепить урок. И вот тут-то, то что казалось очевидным, снова начало выдавать неочевидный результат. Я уже рассматривал это дело на developer.mozilla.org, а также смотрел ES6. Описаний мало. Решил обратиться к вам, возможно кто из вас лучше понимает эту тему?

Ранее рассматриваемый пример:

let i = 0;
i = ++i + i++ * i++; //Результат: 3

i = 0; //Обновляем данные
i = ++i + i++ * ++i; //Результат: 4

Если вывести отдельно блок "i++ * ++i", со второго кейса, то получим такой результат:

i = 0; //Обновляем данные
i = i++ * ++i; //Результат: 0

Вероятно во втором примере главенствующую роль играет ассоциативность, но тогда не понятно какой логике она поддается. Учитывая что i++ -> наивысшего порядка, но также ассоциативность данного шаблона не определена.
Возможно, если у текущего шаблона не определен ассоциативный порядок, то выбор ассоциативности выполняется за предыдущим правилом шаблона ++i (справа налево)?
Кто силен? Разъясните пожалуйста.
источник

A

Alexander in JavaScript.Ninja
Полагаю
i = ++i + i++ * ++i; //==> i = 3+1*1
источник

DZ

D Z in JavaScript.Ninja
eslint no-plusplus
источник

A

Alexander in JavaScript.Ninja
D Z
eslint no-plusplus
Это не ожидаемый ответ)
источник

ЕА

Евгений Александрович in JavaScript.Ninja
подскажите как возможно что я обнуляю массив но след строка консоль лога вывдит что в этом массиве два эллемента лежит
источник

ЕА

Евгений Александрович in JavaScript.Ninja
источник

MK

Mityai Kowalski in JavaScript.Ninja
Alexander
Добрый день, друзья!
На прошлой недели мы рассматривали пример приоритетности операторов и ассоциативности. Мы рассмотрели один пример и на этом все закончилось, все вроде как согласились с единственно-верным решением.
У меня, откровенно говоря по данной теме пробел, и я решил его восполнить. В общем я решил проверить еще пару кейсов, чтобы закрепить урок. И вот тут-то, то что казалось очевидным, снова начало выдавать неочевидный результат. Я уже рассматривал это дело на developer.mozilla.org, а также смотрел ES6. Описаний мало. Решил обратиться к вам, возможно кто из вас лучше понимает эту тему?

Ранее рассматриваемый пример:

let i = 0;
i = ++i + i++ * i++; //Результат: 3

i = 0; //Обновляем данные
i = ++i + i++ * ++i; //Результат: 4

Если вывести отдельно блок "i++ * ++i", со второго кейса, то получим такой результат:

i = 0; //Обновляем данные
i = i++ * ++i; //Результат: 0

Вероятно во втором примере главенствующую роль играет ассоциативность, но тогда не понятно какой логике она поддается. Учитывая что i++ -> наивысшего порядка, но также ассоциативность данного шаблона не определена.
Возможно, если у текущего шаблона не определен ассоциативный порядок, то выбор ассоциативности выполняется за предыдущим правилом шаблона ++i (справа налево)?
Кто силен? Разъясните пожалуйста.
в первом случае
let i = 0;
i = ++i + i++ * i++; //
1 + 1 * 2
во втором
i = 0;
i = ++i + i++ * ++i; //
1 + 1 * 3
источник

MK

Mityai Kowalski in JavaScript.Ninja
консоль показывает конечный результат массива (маленькая i возле Array)
источник

TK

Tikhon Koktysh in JavaScript.Ninja
++i инкрементирует, а затем возвращает значение. i++ возвращает значение, а потом инкрементирует.
i = i++ * ++i; 0 * 1 //Результат: 0
источник

DZ

D Z in JavaScript.Ninja
только там 0 * 2
источник

DZ

D Z in JavaScript.Ninja
источник

A

Alexander in JavaScript.Ninja
Mityai Kowalski
в первом случае
let i = 0;
i = ++i + i++ * i++; //
1 + 1 * 2
во втором
i = 0;
i = ++i + i++ * ++i; //
1 + 1 * 3
Вы уверенны на 100%? Потому что браузер выдает иной результат
источник

MK

Mityai Kowalski in JavaScript.Ninja
Alexander
Вы уверенны на 100%? Потому что браузер выдает иной результат
какой?
источник

TK

Tikhon Koktysh in JavaScript.Ninja
D Z
только там 0 * 2
Да, ошибся, прошу прощения - второй инкремент вернёт 2.
источник