Java→JS
Einstieg

Unterschiede zwischen JavaScript und Java

Java is to JavaScript like Car is to Carpet.

Java und JavaScript haben zwar einige Gemeinsamkeiten, aber auch wesentliche Unterschiede:

JavaJavaScript
statisch typisiertdynamisch typisiert
Anweisungsende ist ;Anweisungsende ist ; oder Zeilenende
Programmcode benötigt mindestens eine Klasse und eine Methode (main).Jeder JavaScript-Ausdruck ist ein lauffähiges Programm (z.B. 1+2).
Methoden haben festen Parameter und können einen Rückgabewert haben (oder keinen mit void)Funktionen sind Objekte, die flexible Parameteranzahlen und immer einen Rückgabewert haben. Funktionen können als Teil von Klassen auch Methoden sein.
Objekte sind Instanzen von Klassen.object ist ein eigener Datentyp für JavaScript-Objekte (key/value-Paare ähnlich wie HashMap in Java).
this bezieht sich auf die Objektinstanz.this bezieht sich auf den Kontext, in dem eine Funktion aufgerufen wird.
Konstruktoren in Klassen sind für die Objekterzeugung zuständig.Einerseits gibt es in Klassen Konstruktor-Methoden. Andererseits lassen sich Funktionen wie Konstruktoren verwenden (siehe Prototypen in JavaScript).
Java-Quellcode wird kompiliert in Bytecode, der dann von der JVM ausgeführt wird.JavaScript-Quellcode wird als Skriptsprache direkt Anweisung für Anweisung interpretiert.
Vererbung mit Klassen und InterfacesVererbung basiert ursprünglich auf Prototypen, Klassenhierarchien erst seit ECMAScript 2015.
Java wird durch den von Oracle dominierten Java Community Process (JCP) spezifiziertJavaScript wird als ECMAScript von Vertretern verschiedener Unternehmen standardisiert.
Der Entwurf von Java dauerte mehrere Jahre. Veröffentlichung Anfang 1996 mit vorausgehenden Beta-Versionen.JavaScript wurde in 2-3 Wochen konzipiert und implementiert. Veröffentlichung Ende 1995.

Bemerkung: Mit TypeScript erhält JavaScript eine statische Typisierung.