Eigenartiges Verhalten von Date
bearbeitet von Rolf BHallo Gunnar,
In JavaScript ist es das weder noch. Es sind zwei Zahlen, verknüpft mit dem Komma-Operator, dem letzten Hund im Operatorenrudel. Das ist keine Auflistung, das würde das Entstehen einer Liste suggerieren. Sondern (und das schreibe ich jetzt nicht mehr für Dich, Du wirst das wissen):
$$a, b \longrightarrow b$$
Dieser Kamerad ist so zurückhaltend, dass er an diversen Stellen von anderer Syntax überbrüllt wird.
Dies sind keine Kommaoperatoren. Der letzte ist sogar ein Syntaxerror
* `function foo(a, b, c) {...}` - Parameter
* `let m = Math.min(a, b);` - Argumente
* `let arr = [ 1, 2, 3, 4 ];` - Arrayliteral
* `let obj = { x: 2, y: 3 };` - Objektliteral
* `let x = 1,2;`{:.bad} - Deklaration
Aber:
~~~js
let x = (1,2);
console.log(x);
~~~
liefert 2.
Das Komma ist das Lieblingstier im Zoo der Minifizierer.
~~~js
if (a < 4) {
foo(7);
b = 9;
doSomething(a, b);
}
else
{
bar(99);
b = 88;
}
// versus
a<4?(foo(7),b=9,doSomething(a,b)):(bar(99),b=88);
~~~
Die Klammern sind leider trotzdem nötig, weil der Rang von , geringer ist als der von ?:
_Rolf_
--
sumpsi - posui - obstruxi