+ 3

вопрос по решению конкретной задачи

Всем привет! Прошу помочь - никак не могу решить - не понимаю, что и как. Может накидаете ссылок - куда посмотреть или детально кто объяснит. Почему 5????? Не понимаю, почему он умножает const t = { val:2 } const c1 = () =>t.val+=1; const c2 = () =>t.val*=2; c2(); c1(); console.log(t.val);

11th May 2018, 7:50 AM
Ekaterina Laretina
Ekaterina Laretina - avatar
3 ответов
+ 19
В задаче используются функции из ES6: https://www.sololearn.com/learn/409/?ref=app Сначала вызывается функция, которая умножает на 2, а затем функция, которая добавляет 1. 2 * 2 = 4; 4 + 1 = 5; const t = { val:2 } const c1 = () =>t.val+=1; const c2 = () =>t.val*=2; c2(); // t.val == 4 c1(); // t.val == 5 console.log(t.val);
11th May 2018, 9:06 AM
Igor Makarsky
Igor Makarsky - avatar
+ 2
СПАСИБО
11th May 2018, 9:07 AM
Ekaterina Laretina
Ekaterina Laretina - avatar
+ 1
Потому что const c1 = () =>t.val+=1; const c2 = () =>t.val*=2; это просто функции, вы назначаете функции , НО НЕ ВЫЗЫВАЕТЕ. с2(); c1(); это вызовы функции, а значит вначале вы значение val (2) умножаете на 2 , а потом складываете с 1 => 2 * 2 + 1 = 5
3rd Jan 2020, 6:06 PM
Mark Brosalin
Mark Brosalin - avatar