Online JavaScript - IDE, Editör, Derleyici, Yorumlayıcı

RSS

JavaScript'i konsol çıktısı, async/await ve modern ES2024 özellikleriyle izole bir worker içinde anında çalıştırın. Kayıt yok, kurulum yok.

ES2024 (your browser's engine) · Tarayıcınızda çalışır, böylece kodunuz sunucularımıza hiç ulaşmaz.
main.jsJavaScript
Çıktı

            
        
Çalıştırmak için Ctrl/⌘ + Enter

Online JavaScript derleyicinin özellikleri (IDE, editör & yorumlayıcı)

JavaScript kodunu online ve ücretsiz olarak yazın, çalıştırın ve test edin. Bu sayfa online JavaScript IDE'si, kod editörü, derleyicisi ve yorumlayıcısı olarak tek bir yerde çalışır: kodunuzu yazın, Çalıştır'a basın ve çıktıyı hemen görün. Her şey tarayıcınızda çalışır; kurulacak bir şey ya da açılacak bir hesap yoktur.

  • Kodu anında çalıştırın: ES2024 (your browser's engine), ilk yüklemeden sonra bir saniyeden kısa sürede çıktı.
  • Kod editörü: sözdizimi vurgulama, satır numaraları, parantez eşleştirme ve otomatik parantez kapatma.
  • Anlaşılır hatalar: hata mesajları ve uyarılar, kendi bilgisayarınızda olduğu gibi çıktı panelinde görünür.
  • Tam ekran: Ctrl/⌘ + Shift + F, ayarlanabilir yazı boyutu, yan yana veya alt alta düzen ve yeniden boyutlandırılabilir paneller.
  • Otomatik kaydetme: kodunuz tarayıcınızda saklanır; tek tıkla main.js olarak indirin veya kopyalayın.
  • Güvenle deneyin: süre sınırı ve Durdur düğmesi sonsuz döngüleri sonlandırır.
  • Gizli: JavaScript çalışma ortamı cihazınızda çalışır, böylece kodunuz asla yüklenmez.
  • Karanlık mod ve klavye kısayolları: Ctrl/⌘ + Enter kodu çalıştırır.
  • Ücretsiz: kayıt yok, kullanım sınırı yok.

Diğer programlama dillerini öğrenin

Online JavaScript derleyici nasıl kullanılır?

  1. JavaScript kodunuzu düzenleyiciye yazın veya yapıştırın. Başlangıç örneğini Örneği sıfırla ile geri getirebilirsiniz.
  2. Çalıştır düğmesine ya da Ctrl + Enter (Mac'te ⌘ + Enter) tuşlarına basın.
  3. console.log, console.info ve console.debug çıktıları Çıktı panelinde görünür. console.warn, console.error ve yakalanmamış istisnalar, yığın izleri (stack trace) dahil, hata olarak vurgulanır.
  4. 5, 15 veya 60 saniyelik bir süre sınırı seçin. Daha uzun çalışan bir betik otomatik olarak durdurulur; istediğiniz an Durdur düğmesine de basabilirsiniz.

İndirilecek hiçbir şey yoktur. JavaScript, tarayıcınızda zaten yerleşik olan motor üzerinde çalışır; bu yüzden sayfa hemen kullanıma hazırdır. Kodunuzu kaydetmek için Kopyala veya main.js düğmesini kullanın.

Kodunuz yerel olarak, kendi tarayıcınızdaki bir Web Worker içinde çalışır. Sunucularımıza asla yüklenmez ve orada saklanmaz. Düzenleyici son kodunuzu tarayıcınızın yerel depolama alanında hatırlar; başka hiçbir yerde saklanmaz.

Neler destekleniyor?

  • Modern JavaScript: sınıflar, ok fonksiyonları, yapı bozma (destructuring), isteğe bağlı zincirleme (?.), nullish birleştirme (??), BigInt, Map/Set ve yeni dizi metotları dahil, tarayıcınızın desteklediği her şey.
  • Üst düzey await: kodunuz bir async fonksiyonun içine sarılır, böylece promise'leri doğrudan await ile bekleyebilirsiniz.
  • Zamanlayıcılar ve promise'ler: setTimeout, setInterval, Promise.all ve benzeri fonksiyonlar çalışır. Üst düzey kodunuz (beklenen tüm işler dahil) tamamlandığında çalıştırma bitmiş sayılır.
  • Worker içinde güvenle kullanılabilen Web API'leri; örneğin JSON, Intl, TextEncoder, crypto.getRandomValues ve structuredClone.

Sınırlamalar:

  • DOM yok. Kod bir worker içinde çalıştığı için document, window ve alert() kullanılamaz.
  • import/require yok. Bu Node.js değildir; bu yüzden npm paketleri ve fs gibi Node modülleri yüklenemez.
  • console.table, verilerini çizilmiş bir tablo yerine JSON olarak yazdırır.
  • Davranış, kullandığınız tarayıcıya göre değişir. Çok yeni özellikler eski tarayıcılarda bulunmayabilir.

JavaScript hızlı başvuru

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);           // JSON olarak ["ada: 91", "grace: 85"]

const sleep = ms => new Promise(r => setTimeout(r, ms));
await sleep(100);
console.log(scores.bob ?? 'no score');
İşlemSözdizimi
Değişken tanımlamaconst x = 1; let y = 2;
Ok fonksiyonuconst add = (a, b) => a + b;
Şablon dizesi`Total: ${sum}`
Katı eşitlika === b
Yapı bozmaconst { id, name } = user;
Bir promise'i beklemeconst data = await promise;

İpuçları

  • Nesneler ve diziler girintili JSON olarak yazdırılır. Değişkenleri doğrudan bir nesne içinde yazdırırsanız, örneğin console.log({ a, b }), adlarını değerlerinin yanında görürsünüz.
  • Map ve Set boyutları ve içerikleriyle (örneğin Map(2) [...]), BigInt değerleri ise n sonekiyle yazdırılır.
  • JSON çıktısını doğrulamak ya da büyük yapıları daraltıp incelemek için JSON biçimlendiriciye kopyalayın.
  • Dağınık veya küçültülmüş (minified) kodu düzenlemek için buraya yapıştırmadan önce JavaScript biçimlendiriciden geçirin.
  • globalThis nesnesine eklenen değerler, siz Durdur'a basana kadar çalıştırmalar arasında korunur. const veya let ile tanımlanan değişkenler korunmaz.
İpucu: Tür ek açıklamaları (type annotation) mı kullanmak istiyorsunuz? Online TypeScript derleyici aynı şekilde çalışır ve ürettiği JavaScript kodunu da gösterir.

Sıkça sorulan sorular

Bu araç hangi JavaScript sürümünü çalıştırır?

Tarayıcınızın motoru neyi destekliyorsa onu: Chrome ve Edge'de V8, Firefox'ta SpiderMonkey, Safari'de JavaScriptCore. Bunların hepsinin güncel sürümleri, ES2024 özellikleri dahil modern ECMAScript'i destekler.

document neden tanımsız?

Sayfanın hızlı tepki vermesi ve güvenli kalması için kodunuz, sayfaya erişimi olmayan bir Web Worker içinde çalışır. Bu aracı DOM işlemleri için değil, mantık, algoritmalar ve veri işleme için kullanın.

npm paketlerini kullanabilir miyim?

Hayır. import, require ve Node.js yerleşik modülleri kullanılamaz. Yalnızca dilin kendisi ve worker'ların sağladığı standart Web API'leri kullanılabilir.

Sonsuz döngü yazarsam ne olur?

Döngü bir worker içinde çalıştığı için sayfa yanıt vermeye devam eder. Süre sınırına ulaşıldığında veya Durdur'a bastığınızda worker kapatılır ve kodunuz durur.

Güncellendi

Panoya kopyalandı