Von einer Sprache Design-Perspektive, warum tutWarum, wenn ('k' in 42); Ausnahme auslösen while for ('k' in 42); nicht, in Javascript?
if ('k' in 42);
eine TypeError
Ausnahme werfen, während
for ('k' in 42);
nicht?
Ich habe die folgenden Abschnitte in ECMAScript-Spezifikation lesen:
Kann in die eine solche Widersprüchlichkeit der Begründung jemand erklären?
Warum kann Ausdruck 'k' in 42
in if (...)
nicht einfach auf false
ausgewertet werden?
BTW, es ist das gleiche in ES3. – raina77ow
Meintest du 'for (k in 42)'? Das String-Literal "k" ist an dieser Position nicht einmal syntaktisch gültig. – Bergi