Ich bin auf Chromium Version 53.0.2785.143 auf Ubuntu Errichtet auf Ubuntu 16.04 (64-Bit)JavaScript Schritt unärer Operator (++) auf Strings
Nach dem ECMAScript® Language Specification wird Präfix Inkrementoperator wie folgt bewertet :
Vor diesem Hintergrund kann ich dieses Ergebnis nicht erklären:
++'1';
> Uncaught ReferenceError: Invalid left-hand side expression in prefix operation
wenn der follo Flügel Code wirkt wie ein Zauber:
var x = '1';
++x;
> 2
Soweit ich verstehe, in beiden Fällen sind die ersten drei Aufzählungspunkte des zweiten Schritts sind wahr, während für ++'1'
Fall die vierte Kugel auch wahr ist (aber warum?) und für den ++x
Fall ist es falsch, was keinen Fehler hervorruft. Habe ich recht?
PS: Firefox wirft ein SyntaxError: invalid increment operand
anstelle eines ReferenceError
Sie den gleichen Fehler, wenn Sie do ++ 1, übrigens –
'PutValue ('1', 2)' wirft einen Fehler, weil es einem String-Literal nicht zuweisen kann. Sie benötigen eine Variable oder eine andere Art von 'Referenz'. – Bergi