Cara menggunakan compiler JavaScript online
- Tulis atau tempel kode JavaScript Anda ke editor. Anda bisa mengembalikan contoh awal dengan Reset contoh.
- Tekan Jalankan atau gunakan Ctrl + Enter (⌘ + Enter di Mac).
- Output dari
console.log,console.info, danconsole.debugmuncul di panel Output.console.warn,console.error, dan exception yang tidak tertangkap, termasuk stack trace-nya, disorot sebagai error. - 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. awaitdi tingkat atas: kode Anda dibungkus dalam fungsi async, sehingga Anda bisa langsung memakaiawaitpada 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, danstructuredClone.
Batasan:
- Tidak ada DOM. Kode berjalan di dalam worker, sehingga
document,window, danalert()tidak tersedia. - Tidak ada
import/require. Ini bukan Node.js, jadi paket npm dan modul Node sepertifstidak bisa dimuat. console.tablemencetak 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');
| Tugas | Sintaks |
|---|---|
| Mendeklarasikan variabel | const x = 1; let y = 2; |
| Arrow function | const add = (a, b) => a + b; |
| Template literal | `Total: ${sum}` |
| Kesetaraan ketat | a === b |
| Destructuring | const { id, name } = user; |
| Menunggu promise | const 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. MapdanSetdicetak beserta ukuran dan isinya (misalnyaMap(2) [...]), dan nilaiBigIntdengan akhirann.- 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
globalThistetap ada di antara eksekusi sampai Anda menekan Hentikan. Variabel yang dideklarasikan denganconstataulettidak.
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