JavaScript, birinci sınıf fonksiyonlara sahip hafif, yorumlanan bir programlama dilidir. Tüm büyük web tarayıcılarında yerel olarak çalışan tek programlama dilidir; bu da onu webin dili yapar. JavaScript, HTML sayfalarına etkileşim, animasyonlar ve dinamik davranış kazandırır. Node.js sayesinde sunucularda da çalışır; bu da onu hem front-end hem de back-end geliştirmeyi kapsayan tek dil haline getirir.
JavaScript dosyanızı formatlamak veya güzelleştirmek ister misiniz?
JavaScript Formatlayıcıyı Aç →JavaScript, Mayıs 1995'te Netscape'de Brendan Eich tarafından yalnızca 10 günde oluşturulmuştur. Başlangıçta Mocha, ardından LiveScript olarak adlandırılmış, Sun'ın Java dilinin popülaritesinden yararlanmak amacıyla JavaScript adını almıştır. İsim benzerliğine karşın iki dil birbirleriyle ilgisizdir. JavaScript, 1997 yılında Ecma International tarafından ECMAScript (ES) olarak standartlaştırılmıştır. Önemli kilometre taşları arasında ES5 (2009), ES6/ES2015 (2015 — dil tarihinin en büyük güncellemesi) ve ES2016'dan itibaren yıllık sürümler yer almaktadır.
JavaScript dinamik olarak tiplenmiştir: değişkenler herhangi bir türde değer tutabilir ve tipler çalışma zamanında kontrol edilir. Modern JavaScript, değişken bildirimleri için let ve const kullanır. Fonksiyonlar birinci sınıf değerlerdir; değişkenlere atanabilir, argüman olarak geçirilebilir ve diğer fonksiyonlardan döndürülebilir.
// Değişkenler
const isim = "Ahmet";
let yas = 25;
// Fonksiyon
function selamla(kisi) {
return `Merhaba, ${kisi}!`;
}
// Ok fonksiyonu
const kare = (n) => n * n;
// Dizi metodları
const sayilar = [1, 2, 3, 4, 5];
const ikiler = sayilar.map(n => n * 2); // [2, 4, 6, 8, 10]
const ciftler = sayilar.filter(n => n % 2 === 0); // [2, 4]
// Async / Await
async function kullaniciyiGetir(id) {
const yanit = await fetch(`/api/kullanici/${id}`);
const veri = await yanit.json();
return veri;
}
JavaScript'in sekiz veri tipi vardır — yedi ilkel tip ve bir nesne tipi:
"merhaba", 'dünya', `şablon ${literal}`42, 3.14, NaN, Infinity9007199254740991ntrue veya falsenullimport / export), kodun yeniden kullanılabilir dosyalara bölünmesini sağlarBenzer ada rağmen JavaScript ve Java tamamen farklı dillerdir:
TypeScript, Microsoft tarafından geliştirilen ve düz JavaScript'e derlenen bir JavaScript üst kümesidir:
const kullanın; değişkenin yeniden atanması gerektiğinde let tercih edin. var'dan kaçının.=== hem değeri hem de tipi kontrol eder; == tip dönüşümü yapar — === tercih edintypeof null, "object" döndürür — dildeki tarihsel bir hatatypeof [], "object" döndürür; kontrol için Array.isArray() kullanınJavaScript, birinci sınıf fonksiyonlara sahip hafif, yorumlanan bir programlama dilidir. Tüm büyük web tarayıcılarında yerel olarak çalışan tek programlama dilidir ve web sayfalarına etkileşim, animasyonlar ve dinamik davranış kazandırmak için kullanılır. Node.js aracılığıyla sunucularda da çalışabilir.
JavaScript; etkileşimli web sayfaları (form doğrulama, animasyonlar, DOM manipülasyonu), tek sayfa uygulamaları (React, Vue, Angular), sunucu tarafı geliştirme (Node.js), mobil uygulamalar (React Native), masaüstü uygulamalar (Electron) ve tarayıcı eklentileri için kullanılır.
Hayır. JavaScript ve Java, yalnızca benzer bir adı paylaşan tamamen farklı dillerdir. Java, derlenmiş, statik tipli, nesne yönelimli bir dildir. JavaScript ise yorumlanan, dinamik tipli olup başlangıçta tarayıcı betikleme için tasarlanmıştır.
TypeScript, Microsoft tarafından geliştirilen ve isteğe bağlı statik tipleme ekleyen bir JavaScript üst kümesidir. TypeScript kodu düz JavaScript'e derlenir. Tüm JavaScript kodu geçerli TypeScript'tir; ancak TypeScript, derleme zamanında hataları yakalamaya yardımcı olan tip açıklamaları, arayüzler ve genel türler ekler.
Her ikisi. JavaScript başlangıçta yalnızca tarayıcılarda (front-end) çalışıyordu. Node.js ile (2009) artık sunucularda (back-end) da çalışabilmektedir. Bu, JavaScript'i hem front-end hem de back-end geliştirme için kullanılabilen tek dil yapar.
JavaScript'in giriş engeli görece düşüktür — başlamak için yalnızca bir tarayıcıya ihtiyacınız var. Değişkenler, döngüler ve fonksiyonlar gibi temel kavramlar anlaşılırdır. Ancak asenkron programlama, olay döngüsü, prototipsel kalıtım ve framework ekosistemlerinde uzmanlaşmak zaman alır.