Einführung in JavaScript

Trotz des Namens ist JavaScript nur insofern mit Java verwandt, als die beiden einige gemeinsame syntaktische Ähnlichkeiten. Die JavaScript-Syntax war in der Anfangsentwicklung von der Syntax von Java inspiriert und hieß "LiveScript" wenn es zum ersten Mal 1995 in einer Beta-Version von Netscape Navigator ausgeliefert, der anderen genannten Angebote von Netscape. im Browser. Microsoft veröffentlichte eine eigene JavaScript-Implementierung, „JScript“ mit Internet Explorer 3.0.

Netscape hat diese frühe Arbeit eingereicht an Ecma International, eine Organisation, die technische Standards entwickelt und veröffentlicht, um zu formalisieren und zu beschreiben, wie diese Scripting-Sprache auch von anderen Browsern verstanden werden kann. 1997, USA International veröffentlichte ECMA-262 zur Standardisierung der ersten Skriptversion mit dem Namen ECMAScript. ECMAScript ist der Standard für die Erstellung Skriptsprachen zu erstellen, zum Beispiel die spätere Arbeit von Microsoft inzwischen eingestelltes JScript, ActionScript von Adobe und JavaScript selbst.

Diese Unterscheidung ist wichtig bei der Erörterung bestimmter Aspekte und Merkmale eines JavaScript „ES5“ bezieht sich auf die erste große Veröffentlichung der den ECMAScript-Standard nach Jahren mit stückweiser Entwicklung. „ES6“ (oder "ES2015") ist eine Abkürzung für die Standards, die von der sechsten Ausgabe ECMAScript, veröffentlicht 2015. Nach ES6: neue Ausgaben des ECMAScript Google Apps Standard werden jährlich mit den Änderungen und Ergänzungen der einzelnen Editionen veröffentlicht. nach Jahr als „ES2016“ bezeichnet oder „ES2017“.

Die grundlegenden Regeln

Anders als bei kompilierten Sprachen wird JavaScript nicht aus Code übersetzt, den ein Nutzer schreibt in ein Format einfügen, das der Browser verstehen kann. Ein Script wird an den Browser gesendet neben Assets wie Markup, Bildern und Stylesheets, interpretiert der Browser sie wie er geschrieben wurde: als für Menschen lesbare Folge von Unicode-Zeichen, von links nach rechts und von oben nach unten analysiert werden.

Wenn ein JavaScript-Interpreter ein Skript erhält, führt er zuerst lexikalische Analyse: Parsen der langen Zeichenfolge, aus der ein Skript besteht und wandeln sie in die folgenden diskreten Eingabeelemente um:

  • Tokens
  • Steuerzeichen formatieren
  • Linienabschlusszeichen
  • Kommentare
  • Leerraum (fast bedeutet immer Tabulatoren und Leerzeichen).

Die Ergebnisse eines Skripts gehen nach dem Aktualisieren oder Verlassen der Seite nicht verloren. Dies gilt nicht für die aktuelle Seite, sofern Sie keine ausdrücklichen Anweisungen des Skripts.

Grundsätzlich bestehen JavaScript-Anwendungen aus Anweisungen und expressions zurück.

Erklärungen

Eine Anweisung ist eine Anweisung, die aus einer oder mehreren Codezeilen besteht, die eine Aktion darstellen. Mit der folgenden Anweisung können Sie beispielsweise einen Wert in eine Variable mit dem Namen myVariable ein:

let myVariable = 4;

myVariable;
> 4

Anweisungen müssen mit einem Semikolon enden, um korrekt interpretiert zu werden. Diese Semikolons sind nicht immer erforderlich, wenn Sie JavaScript schreiben. Eine Funktion namens automatisches Einfügen von Semikolons ermöglicht nach einer vollständigen Anweisung als Semikolon behandelt werden, würde einen Fehler verursachen.

ASI ist eine Fehlerkorrektur, kein freizügiger Aspekt von JavaScript selbst. Weil Wenn Sie sich zu sehr auf diese Korrektur verlassen, kann dies zu Unklarheiten führen, sollten Sie dennoch jede Anweisung manuell mit einem Semikolon beenden.

Blockanweisungen

Eine Blockanweisung gruppiert eine beliebige Anzahl von Anweisungen und Deklarationen in einem Paar. aus geschweiften Klammern ({}) Sie können Anweisungen an Stellen kombinieren, an denen JavaScript erwartet nur eine.

In den meisten Fällen werden Blocksatz-Anweisungen neben Ablaufsteuerung wie z. B. if:

if ( x === 2 ) {
  //some behavior;
}

Ausdrücke

Ein Ausdruck ist eine Codeeinheit, die zu einem Wert führt und folglich überall dort verwendet werden, wo ein Wert erwartet wird. 2 + 2 ist ein Ausdruck, der zum Ergebnis Wert 4:

2 + 2;
> 4

Der „Gruppierungsoperator“, ein übereinstimmendes Klammernpaar, wird verwendet, um Gruppiert Teile eines Ausdrucks, um sicherzustellen, dass ein Teil des Ausdrucks als eine Einheit bewertet. Sie können z. B. einen Gruppierungsoperator um die mathematische Reihenfolge der Operationen zu überschreiben, oder die Lesbarkeit von Code verbessern:

2 + 2 * 4;
> 10

( 2 + 2 ) * 4;
> 16

let myVariable = ( 2 + 2 );

myVariable;
> 4

Schwache Eingabe

JavaScript ist eine schlecht typisierte Sprache, d. h., ein Datenwert benötigt explizit als ein bestimmter Datentyp gekennzeichnet werden. Im Gegensatz zu einer stark typisierten Sprache kann JavaScript den gewünschten Typ aus und wandeln den Wert in diesen Typ um. Dieser Prozess wird als Typerzwingung verwenden.

Wenn Sie beispielsweise einem Stringwert in einer stark typisierten Sprache eine Zahl hinzufügen, wie Python, ist das Ergebnis ein Fehler:

>>> "1" + 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects

Anstatt einen Fehler zurückzugeben, erzwingt JavaScript den Zahlenwert in einen String und verkettet die beiden Werte, was wahrscheinlich beim Addieren einem beliebigen Wert in einen String:

"1" + 1;
> "11"

Datentypen können auch explizit erzwungen werden. Im folgenden Beispiel wird erzwungen, numerischer Wert 100 in einen Stringwert von "100" unter Verwendung der integrierten JavaScript-Funktion Methode toString:

let myVariable = 100;

typeof myVariable;
> "number"

myVariable = myVariable.toString();
> "100"

typeof myVariable;
> "string"

Groß-/Kleinschreibung

Im Gegensatz zu HTML und dem Großteil des CSS-Codes muss bei JavaScript selbst die Groß-/Kleinschreibung beachtet werden. Das heißt, Sie müssen alles immer einheitlich verwenden, angefangen bei der Eigenschaften und Methoden, die in die Sprache zu den von Ihnen definierten IDs integriert sind. für sich selbst.

console.log( "Log this." );
> Log this.

console.Log( "Log this too." );
> Uncaught TypeError: console.Log is not a function
const myVariable = 2;

myvariable;
> Uncaught ReferenceError: myvariable is not defined

myVariable;
> 2

Leerzeichen

Bei JavaScript werden Leerzeichen nicht berücksichtigt. Das bedeutet, dass der Interpreter Menge und Art (Tabulatoren oder Leerzeichen) des verwendeten Leerzeichens.

                     console.log(       "Log this"  );console.log("Log this too");
> "Log this."
> "Log this too."

Das Vorhandensein von Leerzeichen kann jedoch als Trennzeichen zwischen Lexikalische Tokens:

let x;

[Tokens: [let] [x] ]

letx;
> Uncaught ReferenceError: letx is not defined

[Tokens: [letx] ]

Dabei werden sinnvolle lexikalische Tokens durch Leerzeichen getrennt. ignoriert die Menge und Art des Leerzeichens:

let           x                             =                           2;

[Tokens: [let] [x] [=] [2] ]

Dasselbe gilt für Zeilenumbrüche, aber es gibt Fälle, in denen Zeilenumbrüche Probleme verursachen, indem Sie eine Anweisung vorzeitig beenden:

let x
=
2;

[Tokens: [let] [x] [=] [2] ]

Stilistisch betrachtet beziehen sich einige Arten von Anweisungen häufig in einer einzigen Zeile:

let x = 1;
let y = 2;

Bei einigen Anweisungen werden üblicherweise mehrere Zeilen verwendet:

if ( x == 2 ) {
  //some behavior;
}

Diese Konventionen dienen jedoch ausschließlich dem Zweck der Lesbarkeit. JavaScript werden die vorherigen Beispiele wie folgt interpretiert:

let x=1;let y=2;
if(x==2){}

Aus diesem Grund werden durch einen automatisierten Prozess, durch den unwesentliche Leerzeichen aus den Zellen entfernt werden, Skriptdateien zur Reduzierung der Übertragungsgröße ist ein häufiger Schritt bei der Vorbereitung von JavaScript für eine Produktionsumgebung sowie weitere Optimierungen.

Die Verwendung von Leerzeichen in JavaScript hängt vor allem von Autor und Einstellungen für Administratoren. JavaScript-Projekte mit mehreren Entwicklern beitragender Code schlagen oder erzwingen häufig bestimmte Leerzeichen-Konventionen, eine einheitliche Codeformatierung zu gewährleisten, z. B. durch Tabulatoren oder Leerzeichen, Verschachtelte Anweisungen einrücken:

let myVariable = 10;

if ( typeof myVariable === "number" ) {
    console.log( "This variable is a number." );
    if( myVariable > 5 ) {
     console.log( "This variable is greater than five." );
    }
}

> "This variable is a number."
> "This variable is greater than five."

Wissen testen

Was ist ein Ausdruck?

Eine Codeeinheit, die einen Wert ergibt.
Eine Gruppe von Erklärungen und Deklarationen.
Ein Kommentar, in dem erklärt wird, was der Code tut.

Bei JavaScript wird zwischen Groß- und Kleinschreibung unterschieden.

Richtig
Falsch