Rolf B: [] + "" bzw. [] in array.reduce

Beitrag lesen

Hallo Herr Specht,

bitte zu entschuldigen. Da habe ich wohl nicht nur eine Trittstufe verpasst, sondern bin gleich ganz abgestürzt.

Ich habe das Posting angepasst.

Jetzt kapiere ich auch Abschnitt 7.1.1.1 der Spec. Er probiert beim Array zunächst valueOf. Das liefert das Array selbst, das ist ein Object, deshalb verwendet er das nicht und fährt mit toString fort. Und arr.toString() entspricht arr.join(','). Und schon passt die Spec zum beobachteten Verhalten 😀.

[]++ funktioniert aus einem anderen Grund nicht, das ist der Post-Inkrement Operator und DER verlangt eine LeftHandSide Expression. Der darf man aber auch nicht jeden Dutchie weitergeben (Hä?), ein Array funktioniert nur als LeftHandSide Expression wenn ein Pattern Assignment gemacht wird (z.B. [a,b,c] = [1,2,3] - aber [] = [] funktioniert auch, links und rechts ist leer, Pattern stimmt).

Rolf

--
sumpsi - posui - obstruxi