Übersetzung ins Deutsche
Java - Nashorn JavaScript Engine
Hallo dort, aufstrebende Programmierer! Ich bin begeistert, Ihr Guide auf dieser aufregenden Reise in die Welt von Java und dem Nashorn JavaScript Engine zu sein. Als jemand, der seit über einem Jahrzehnt Informatik lehrt, kann ich Ihnen versichern, dass dies eine unterhaltsame und aufklärerische Erfahrung werden wird. Also, lasst uns einsteigen!
Was ist der Nashorn JavaScript Engine?
Nashorn (ausgesprochen "nass-horn") ist ein leichtgewichtiges, hochleistungsfaehiges JavaScript-Engine, das mit Java 8 eingeführt wurde. Es ist wie eine Brücke zwischen Java und JavaScript, die es Ihnen ermöglicht, JavaScript-Code innerhalb einer Java-Anwendung auszuführen. Cool, nicht wahr?
Ein kleiner Abriss zur Geschichte
In meinen frühen Tagen des Lehrens mussten wir separate Umgebungen für Java und JavaScript verwenden. Es war, als ob man einen Erdnussbutter-und-Gemüsebrot-Sandwich mit zwei separaten Tellern machen wollte! Nashorn hat das alles geändert, indem es diese beiden mächtigen Sprachen in einer köstlichen Kombination zusammengebracht.
JavaScript über die Kommandozeilen-Tools ausführen
Lassen Sie uns mit etwas Einfachem beginnen. Nashorn kommt mit einem Kommandozeilen-Tool namens jjs
, das es Ihnen ermöglicht, JavaScript direkt von Ihrem Terminal auszuführen.
Beispiel 1: Hallo, Nashorn!
Öffnen Sie Ihre Eingabeaufforderung und geben Sie ein:
jjs
print("Hallo, Nashorn!");
Sie sollten "Hallo, Nashorn!" auf Ihrem Bildschirm sehen. Glückwunsch! Sie haben gerade Ihren ersten JavaScript-Code mit Nashorn ausgeführt.
JavaScript direkt in der Eingabeaufforderung ausführen
Sie können auch JavaScript-Dateien direkt von der Kommandozeile ausführen.
Beispiel 2: Eine JavaScript-Datei ausführen
- Erstellen Sie eine Datei namens
greet.js
mit folgendem Inhalt:
var name = "Alice";
print("Hallo, " + name + "!");
- Führen Sie sie mit jjs aus:
jjs greet.js
Sie sollten "Hallo, Alice!" auf Ihrem Bildschirm sehen.
Argumente an jjs übergeben
Nashorn ermöglicht es Ihnen, Argumente an Ihren JavaScript-Code zu übergeben, genau wie bei Java.
Beispiel 3: Argumente übergeben
Erstellen Sie eine Datei namens greet_with_args.js
:
var name = $ARG[0];
print("Hallo, " + name + "!");
Führen Sie sie mit einem Argument aus:
jjs greet_with_args.js -- Bob
Sie sollten "Hallo, Bob!" sehen.
JavaScript aus Java aufrufen
Jetzt kommen wir zum wirklich spannenden Teil - JavaScript aus Ihrer Java-Code aufzurufen!
Beispiel 4: JavaScript in Java auswerten
import javax.script.*;
public class JavaScriptInJava {
public static void main(String[] args) throws ScriptException {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("nashorn");
engine.eval("print('Hallo von JavaScript!');");
}
}
Wenn Sie dieses Java-Programm ausführen, wird es "Hallo von JavaScript!" mit der Nashorn-Engine ausgeben.
Java aus JavaScript aufrufen
Die wahre Stärke von Nashorn besteht darin, dass Sie Java-Klassen und -Methoden innerhalb von JavaScript-Code verwenden können.
Beispiel 5: Verwendung von Java-Klassen in JavaScript
import javax.script.*;
public class JavaInJavaScript {
public static void main(String[] args) throws ScriptException {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("nashorn");
engine.eval("var ArrayList = Java.type('java.util.ArrayList');" +
"var list = new ArrayList();" +
"list.add('Hallo');" +
"list.add('Welt');" +
"print(list);");
}
}
Dieser Code erstellt eine Java-ArrayList, fügt Elemente hinzu und gibt sie aus - alles aus JavaScript!
Fortgeschrittene Funktionen
Nashorn bietet viele fortgeschrittene Funktionen, die es zu einer leistungsfähigen Werkzeug für Java-Entwickler machen.
Beispiel 6: Verwendung von Java 8 Lambda-Ausdrücken
import javax.script.*;
public class LambdaInNashorn {
public static void main(String[] args) throws ScriptException {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("nashorn");
engine.eval("var list = [1, 2, 3, 4, 5];" +
"list.forEach(function(num) { print(num * 2); });");
}
}
Dieses Beispiel zeigt, wie Sie Java 8 Lambda-Ausdrücke innerhalb von JavaScript-Code, der auf Nashorn läuft, verwenden können.
Methodentabelle
Hier ist eine Tabelle einiger wichtiger Methoden, die Sie mit Nashorn verwenden können:
Methode | Beschreibung |
---|---|
ScriptEngineManager.getEngineByName("nashorn") |
Holen Sie sich den Nashorn-Skript-Engine |
ScriptEngine.eval(String script) |
Evaluieren Sie ein JavaScript-Skript |
ScriptEngine.put(String key, Object value) |
Setzen Sie eine Variable im Skript-Engine |
ScriptEngine.get(String key) |
Holen Sie sich eine Variable vom Skript-Engine |
Invocable.invokeFunction(String name, Object... args) |
Rufen Sie eine JavaScript-Funktion auf |
Schlussfolgerung
Und so ist es, Freunde! Wir haben nur die Oberfläche dessen berührt, was Nashorn kann, aber ich hoffe, diese Einführung hat Ihr Interesse geweckt. Denken Sie daran, dass der Schlüssel zur Meisterschaft in der Programmierung Praxis ist, also zögern Sie nicht, diese Beispiele zu experimentieren und Ihre eigenen zu erstellen.
Wie ich meinen Schülern immer sage, Programmieren ist wie das Fahrradfahren zu lernen - es mag am Anfang schrecklich erscheinen, aber mit der Praxis werden Sie bald wie der Wind fahren. Und wer weiß? Vielleicht lehren Sie eines Tages andere über die Wunder von Nashorn!
Fortsetzen Sie das Coden, das Lernen und vor allem haben Sie Spaß! Bis zum nächsten Mal, das ist Ihr freundlicher Nachbarlehrer für Informatik. Frohes Coden!
Credits: Image by storyset