// assign: evaluation { var a = 5; var b, c; b = (a * 5); b = (c = b / 2); // начальный код b = (c = (a * 5) / 2) // найденое выражение в коде // вычисления начинаються с правой стороны, сначала считаем виражение в самых вложеных скобках, далее что за ними и т.д } // semicolon: error { b = (a * 5)// b = (c = b / 2) // синтаксичечкая ошибка let a = 5; a++ + a-- // ошибка }