Ein paar Kollegen und ich sind auf eine etwas merkwürdigere JavaScript-Syntax gestoßen. Wir haben Probleme, das folgende Verhalten zu erklären (ich verwende die Chrome-Konsole):
%Vor%Erträge
%Vor%Im Wesentlichen ist es eine gültige Syntax, ein beliebiges Objekt (nicht nur leer) vor dem Array einzuschließen, und das Ergebnis ist immer nur das Array. Gibt es dafür eine Erklärung? Jeder Fall, in dem sich das nicht so verhält?
Auch diese Frage ist schwer zu suchen, da sie aus Zeichen besteht, die bei Suchmaschinen nicht gut funktionieren. Bitte lassen Sie mich wissen, wenn dies eine doppelte Frage ist.
{}
ist eine leere Codeblock-Anweisung . Es folgt ein Array-Literal [1]
. Dies ist der Wert, für den Ihr Programm {}[1]
berechnet.
entspricht in etwa:
%Vor% Wenn Sie den Wert mit Schlüssel 1
in einem leeren Objektliteral abrufen möchten, verwenden Sie Klammern:
({})[1] // undefined
Sie können den AST-Explorer verwenden, um die JavaScript-Parseransicht Ihres Codes anzuzeigen.
%Vor%Eine Block-Anweisung (oder zusammengesetzte Anweisung in anderen Sprachen) wird eingesetzt um null oder mehr Anweisungen zu gruppieren. Der Block ist durch ein Paar begrenzt geschweifte Klammern.
also grundsätzlich getippt & gt; [1]
Tags und Links javascript syntax