JavaScript Online - IDE, Editor, Compiler, Interpreter

Jalankan JavaScript secara instan di worker ber-sandbox dengan output konsol, async/await, dan fitur modern ES2024. Tanpa daftar, tanpa instalasi.

ES2024 (your browser's engine) · Berjalan di browser Anda, sehingga kode Anda tidak pernah sampai ke server kami.
main.jsJavaScript
Output

            
        
Ctrl/⌘ + Enter untuk menjalankan

Fitur compiler JavaScript online (IDE, editor & interpreter)

Tulis, jalankan, dan uji kode JavaScript online secara gratis. Halaman ini berfungsi sebagai IDE, editor kode, compiler, dan interpreter JavaScript online sekaligus: ketik kode Anda, tekan Jalankan, dan lihat outputnya seketika. Semuanya berjalan di browser Anda, tanpa perlu menginstal apa pun dan tanpa membuat akun.

  • Jalankan kode seketika: ES2024 (your browser's engine), dengan output dalam waktu kurang dari satu detik setelah pemuatan pertama.
  • Editor kode: penyorotan sintaks, nomor baris, pencocokan kurung, dan penutupan kurung otomatis.
  • Error yang jelas: pesan error dan peringatan muncul di panel output, seperti di komputer Anda sendiri.
  • Layar penuh: Ctrl/⌘ + Shift + F, ukuran font yang dapat diatur, tata letak berdampingan atau bertumpuk, dan panel yang dapat diubah ukurannya.
  • Simpan otomatis: kode Anda disimpan di browser; download sebagai main.js atau salin dengan satu klik.
  • Aman untuk bereksperimen: batas waktu dan tombol Hentikan mengakhiri loop tak terbatas.
  • Privat: runtime JavaScript berjalan di perangkat Anda, sehingga kode Anda tidak pernah diupload.
  • Mode gelap dan pintasan keyboard: Ctrl/⌘ + Enter menjalankan kode.
  • Gratis: tanpa daftar, tanpa batas penggunaan.

Pelajari bahasa pemrograman lain

Cara menggunakan compiler JavaScript online

  1. Tulis atau tempel kode JavaScript Anda ke editor. Anda bisa mengembalikan contoh awal dengan Reset contoh.
  2. Tekan Jalankan atau gunakan Ctrl + Enter (⌘ + Enter di Mac).
  3. Output dari console.log, console.info, dan console.debug muncul di panel Output. console.warn, console.error, dan exception yang tidak tertangkap, termasuk stack trace-nya, disorot sebagai error.
  4. Pilih batas waktu 5, 15, atau 60 detik. Skrip yang berjalan lebih lama akan dihentikan secara otomatis, dan Anda bisa menekan Hentikan kapan saja.

Tidak ada yang perlu diunduh. JavaScript berjalan di mesin yang sudah ada di dalam browser Anda, jadi halaman langsung siap dipakai. Gunakan Salin atau main.js untuk menyimpan kode Anda.

Kode Anda berjalan secara lokal, dalam sebuah Web Worker di browser Anda sendiri. Kode tidak pernah diunggah atau disimpan di server kami. Editor mengingat kode terakhir Anda di penyimpanan lokal browser, dan tidak di tempat lain.

Fitur yang didukung

  • JavaScript modern: semua yang didukung browser Anda, termasuk class, arrow function, destructuring, optional chaining (?.), nullish coalescing (??), BigInt, Map/Set, dan method array yang lebih baru.
  • await di tingkat atas: kode Anda dibungkus dalam fungsi async, sehingga Anda bisa langsung memakai await pada promise.
  • Timer dan promise: setTimeout, setInterval, Promise.all, dan fungsi serupa bisa dipakai. Eksekusi dianggap selesai saat kode tingkat atas Anda (termasuk pekerjaan apa pun yang di-await) sudah rampung.
  • Web API yang aman untuk worker seperti JSON, Intl, TextEncoder, crypto.getRandomValues, dan structuredClone.

Batasan:

  • Tidak ada DOM. Kode berjalan di dalam worker, sehingga document, window, dan alert() tidak tersedia.
  • Tidak ada import/require. Ini bukan Node.js, jadi paket npm dan modul Node seperti fs tidak bisa dimuat.
  • console.table mencetak datanya sebagai JSON, bukan sebagai tabel yang digambar.
  • Perilakunya mengikuti browser yang Anda pakai. Fitur yang sangat baru mungkin belum ada di browser lama.

Referensi singkat JavaScript

const scores = { ada: 91, linus: 78, grace: 85 };

const passed = Object.entries(scores)
  .filter(([, s]) => s >= 80)
  .map(([name, s]) => `${name}: ${s}`);

console.log(passed);           // ["ada: 91", "grace: 85"] sebagai JSON

const sleep = ms => new Promise(r => setTimeout(r, ms));
await sleep(100);
console.log(scores.bob ?? 'no score');
TugasSintaks
Mendeklarasikan variabelconst x = 1; let y = 2;
Arrow functionconst add = (a, b) => a + b;
Template literal`Total: ${sum}`
Kesetaraan ketata === b
Destructuringconst { id, name } = user;
Menunggu promiseconst data = await promise;

Tips

  • Objek dan array dicetak sebagai JSON yang diberi indentasi. Cetak langsung, misalnya console.log({ a, b }), untuk melihat nama variabel di samping nilainya.
  • Map dan Set dicetak beserta ukuran dan isinya (misalnya Map(2) [...]), dan nilai BigInt dengan akhiran n.
  • Salin output JSON ke JSON formatter untuk memvalidasinya, atau untuk melipat dan menjelajahi struktur yang besar.
  • Untuk merapikan kode yang berantakan atau sudah di-minify, proses dulu dengan JavaScript formatter sebelum menempelkannya di sini.
  • Nilai yang dipasang pada globalThis tetap ada di antara eksekusi sampai Anda menekan Hentikan. Variabel yang dideklarasikan dengan const atau let tidak.
Tips: Ingin memakai anotasi tipe? Compiler TypeScript online bekerja dengan cara yang sama dan juga menampilkan JavaScript yang dihasilkannya.

Pertanyaan yang sering diajukan

Versi JavaScript mana yang dijalankan di sini?

Versi apa pun yang didukung mesin browser Anda: V8 di Chrome dan Edge, SpiderMonkey di Firefox, atau JavaScriptCore di Safari. Versi terbaru dari semuanya mendukung ECMAScript modern, termasuk fitur ES2024.

Mengapa document bernilai undefined?

Agar halaman tetap responsif dan aman, kode Anda berjalan di dalam Web Worker, yang tidak memiliki akses ke halaman. Gunakan alat ini untuk logika, algoritma, dan pemrosesan data, bukan untuk manipulasi DOM.

Bisakah saya memakai paket npm?

Tidak. import, require, dan modul bawaan Node.js tidak tersedia. Hanya bahasa itu sendiri dan Web API standar yang disediakan worker yang bisa dipakai.

Apa yang terjadi jika saya menulis infinite loop?

Halaman tetap responsif, karena loop berjalan di dalam worker. Saat batas waktu tercapai, atau saat Anda menekan Hentikan, worker dimatikan dan kode Anda berhenti.

Diperbarui

Tersalin ke clipboard