Online JavaScript derleyici nasıl kullanılır?
- JavaScript kodunuzu düzenleyiciye yazın veya yapıştırın. Başlangıç örneğini Örneği sıfırla ile geri getirebilirsiniz.
- Çalıştır düğmesine ya da Ctrl + Enter (Mac'te ⌘ + Enter) tuşlarına basın.
console.log,console.infoveconsole.debugçıktıları Çıktı panelinde görünür.console.warn,console.errorve yakalanmamış istisnalar, yığın izleri (stack trace) dahil, hata olarak vurgulanır.- 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/Setve 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ğrudanawaitile bekleyebilirsiniz. - Zamanlayıcılar ve promise'ler:
setTimeout,setInterval,Promise.allve 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.getRandomValuesvestructuredClone.
Sınırlamalar:
- DOM yok. Kod bir worker içinde çalıştığı için
document,windowvealert()kullanılamaz. import/requireyok. Bu Node.js değildir; bu yüzden npm paketleri vefsgibi 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');
| İşlem | Sözdizimi |
|---|---|
| Değişken tanımlama | const x = 1; let y = 2; |
| Ok fonksiyonu | const add = (a, b) => a + b; |
| Şablon dizesi | `Total: ${sum}` |
| Katı eşitlik | a === b |
| Yapı bozma | const { id, name } = user; |
| Bir promise'i bekleme | const 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. MapveSetboyutları ve içerikleriyle (örneğinMap(2) [...]),BigIntdeğerleri isensonekiyle 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.
globalThisnesnesine eklenen değerler, siz Durdur'a basana kadar çalıştırmalar arasında korunur.constveyaletile tanımlanan değişkenler korunmaz.
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