Здравствуйте, есть выражение, (1,5-1)*2 на js оно будет равно 8, это происходит, потому что стоит запятая, а не точка, Объясните пожалуйста, почему js игнорирует единицу и считает выражение, как (5-1)*2 ?
Asked
Active
Viewed 4,420 times
1 Answers
6
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comma_Operator
The comma operator evaluates each of its operands (from left to right) and returns the value of the last operand.
Оператор "запятая" вычисляет все операнды (слева направо) и возвращает значение последнего операнда.
Таким образом
var a = (1,5-1);
console.log(a); // 4
-
А зачем это вообще, если левые операнды в конце концов игнорируются? – simply good Dec 06 '16 at 21:58
-
@simplygood - в статье по ссылке есть примеры кода – Dec 06 '16 at 22:00
-
Благодарю, спасибо – simply good Dec 06 '16 at 22:00
-
1@simplygood, они не игнорируются. – Grundy Dec 07 '16 at 07:51