Java - Nashorn JavaScript Engine

Halo para pemrogram aspiran! Saya sangat senang menjadi pemandu Anda dalam perjalanan yang menarik ini ke dunia Java dan Nashorn JavaScript Engine. Sebagai seseorang yang telah mengajar ilmu komputer selama lebih dari satu dekade, saya bisa menjamin Anda bahwa ini akan menjadi pengalaman yang menyenangkan dan menginspirasi. Jadi, mari kita melompatlah!

Java - Nashorn JavaScript

Apa itu Nashorn JavaScript Engine?

Nashorn (diprononciaskan "nass-horn") adalah mesin JavaScript yang ringan dan tinggi performa yang diperkenalkan dengan Java 8. Ini seperti sebuah jembatan antara Java dan JavaScript, memungkinkan Anda untuk menjalankan kode JavaScript di dalam aplikasi Java. Keren, kan?

Sejarah Singkat

Pada awal tahun mengajar saya, kita harus menggunakan lingkungan terpisah untuk Java dan JavaScript. Itu seperti mencoba untuk membuat sandwich kacang tanah dan jelly dengan dua piring terpisah! Nashorn mengubah semua itu, membawa kedua bahasa yang kuat ini bersama-sama dalam kombinasi yang enak.

Menjalankan JavaScript melalui Alat Command Line

Mari kita mulai dengan sesuatu yang sederhana. Nashorn datang dengan alat command-line bernama jjs yang memungkinkan Anda untuk menjalankan JavaScript secara langsung dari terminal Anda.

Contoh 1: Halo, Nashorn!

Buka prompt perintah Anda dan ketik:

jjs
print("Halo, Nashorn!");

Anda seharusnya melihat "Halo, Nashorn!" dicetak di atas layar Anda. Selamat! Anda baru saja menjalankan kode JavaScript pertama Anda menggunakan Nashorn.

Menjalankan JavaScript Secara Langsung di Prompt Perintah

Anda juga dapat menjalankan file JavaScript secara langsung dari baris perintah.

Contoh 2: Menjalankan File JavaScript

  1. Buat file bernama greet.js dengan konten berikut:
var nama = "Alice";
print("Halo, " + nama + "!");
  1. Jalankan itu menggunakan jjs:
jjs greet.js

Anda seharusnya melihat "Halo, Alice!" dicetak di atas layar Anda.

Mengirimkan Argumen ke jjs

Nashorn memungkinkan Anda untuk mengirimkan argumen ke kode JavaScript Anda, sama seperti Anda dengan Java.

Contoh 3: Mengirimkan Argumen

Buat file bernama greet_with_args.js:

var nama = $ARG[0];
print("Halo, " + nama + "!");

Jalankan itu dengan argumen:

jjs greet_with_args.js -- Bob

Anda seharusnya melihat "Halo, Bob!" dicetak.

Memanggil JavaScript dari Java

Sekarang, mari kita ke bagian yang benar-benar menarik - memanggil JavaScript dari dalam kode Java Anda!

Contoh 4: Mengevaluasi JavaScript di Java

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('Halo dari JavaScript!');");
}
}

Ketika Anda menjalankan program Java ini, itu akan mencetak "Halo dari JavaScript!" menggunakan mesin Nashorn.

Memanggil Java dari JavaScript

Kekuatan sebenarnya dari Nashorn datang dari kemampuannya untuk menggunakan kelas dan metode Java dalam kode JavaScript.

Contoh 5: Menggunakan Kelas Java di 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 daftar = new ArrayList();" +
"daftar.add('Halo');" +
"daftar.add('Dunia');" +
"print(daftar);");
}
}

Kode ini membuat Java ArrayList, menambahkan elemen kepadanya, dan mencetaknya - semua dari dalam JavaScript!

Fitur Lanjutan

Nashorn menawarkan banyak fitur lanjutan yang membuatnya alat yang kuat bagi pengembang Java.

Contoh 6: Menggunakan Ekspresi Lambda Java 8

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 daftar = [1, 2, 3, 4, 5];" +
"daftar.forEach(function(num) { print(num * 2); });");
}
}

Contoh ini menunjukkan cara Anda dapat menggunakan ekspresi lambda Java 8 dalam kode JavaScript yang dijalankan di Nashorn.

Tabel Metode

Berikut adalah tabel beberapa metode penting yang dapat Anda gunakan dengan Nashorn:

Metode Deskripsi
ScriptEngineManager.getEngineByName("nashorn") Dapatkan mesin skrip Nashorn
ScriptEngine.eval(String script) Evaluasi skrip JavaScript
ScriptEngine.put(String key, Object value) Setel variabel dalam mesin skrip
ScriptEngine.get(String key) Dapatkan variabel dari mesin skrip
Invocable.invokeFunction(String name, Object... args) Panggil fungsi JavaScript

Kesimpulan

Dan itu adalah semua, teman-teman! Kita baru saja menggaruk permukaan dari apa yang Nashorn bisa lakukan, tetapi saya berharap pengenalan ini telah membuka ketertarikan Anda. Ingat, kunci untuk menguasai pemrograman adalah praktek, jadi jangan takut untuk eksperimen dengan contoh ini dan membuat Anda sendiri.

Seperti saya selalu mengatakan kepada siswa saya, pemrograman adalah seperti belajar untuk bersepeda - mungkin terlihat menakutkan pada awalnya, tetapi dengan praktek, Anda akan berlari dengan cepat dalam waktu singkat. Dan siapa tahu? Mungkin suatu hari Anda akan mengajar orang lain tentang keajaiban Nashorn!

Tetap coding, tetap belajar, dan yang paling penting, bersenang-senang! Sampai jumpa lagi, ini adalah guru ilmu komputer tetangga Anda yang ramah yang akan menandatangani off. Selamat coding!

Credits: Image by storyset