JavaScript
JavaScript, web geliştirmede yaygın olarak kullanılan, dinamik ve yüksek seviyeli bir programlama dilidir. İlk olarak 1995 yılında Brendan Eich tarafından Netscape Communications Corporation'da geliştirildi. Başlangıçta "Mocha" olarak adlandırıldı, daha sonra "LiveScript" ve en sonunda "JavaScript" adını aldı. İşte JavaScript hakkında detaylı bir bilgi:
Tarihçe
- İlk Çıkış: JavaScript, 1995 yılında Netscape Communications tarafından Brendan Eich tarafından oluşturulmuştur. İlk olarak Mocha, ardından LiveScript ve en sonunda JavaScript olarak adlandırılmıştır.
- Standartlaşma: 1997 yılında ECMA International tarafından ECMAScript olarak standartlaştırılmıştır. ECMAScript, JavaScript'in resmi adıdır ve bu standart, JavaScript'in çeşitli sürümlerinin temelini oluşturur.
Temel Özellikler
- Dinamik ve Zayıf Tip: JavaScript, dinamik olarak yazılan ve zayıf tipli bir dildir. Bu, değişkenlerin türlerinin çalışma zamanında belirlendiği ve türlerin açıkça belirtilmediği anlamına gelir.
- Yorumlanan Dil: JavaScript kodu, tarayıcı tarafından doğrudan çalıştırılır. Derleme gerektirmez.
- Nesne Tabanlı: JavaScript, prototip tabanlı bir nesne yönelimli programlama dilidir. Nesneler ve prototipler aracılığıyla kalıtım sağlar.
- Çok Amaçlı Kullanım: Başlangıçta sadece istemci taraflı (client-side) bir dil olarak kullanılmış olsa da, Node.js ile sunucu tarafında (server-side) da yaygınlaşmıştır.
Temel Sözdizimi
Değişken Tanımlama:
Fonksiyonlar:
Koşullar:
Döngüler:
Önemli Kavramlar ve Özellikler
- DOM Manipülasyonu: JavaScript, Document Object Model (DOM) aracılığıyla HTML ve CSS'yi dinamik olarak değiştirebilir.
- Olaylar (Events): Kullanıcı etkileşimlerini işlemek için kullanılır.
- Asenkron Programlama: Callback'ler, Promises ve async/await kullanılarak gerçekleştirilir.
Modern JavaScript ve Araçlar
- ES6 ve Sonrası: ES6 (ECMAScript 2015) ile JavaScript'e pek çok yeni özellik eklenmiştir, örneğin: let/const, arrow functions, template literals, destructuring, classes, modules.
- Framework ve Kütüphaneler: React, Angular, Vue.js gibi modern JavaScript kütüphane ve framework'leri, kullanıcı arayüzü geliştirmeyi kolaylaştırır.
- Node.js: JavaScript'in sunucu tarafında çalışmasını sağlayan bir platformdur. Express.js gibi çerçeveler ile web uygulamaları geliştirilebilir.
- Build Araçları: Webpack, Babel, ESLint gibi araçlar, kodun derlenmesi, dönüştürülmesi ve hata kontrolü için kullanılır.
- Paket Yönetimi: npm (Node Package Manager) ve yarn gibi araçlar, kütüphane ve bağımlılık yönetimini sağlar.
Örnek Proje: Basit Bir To-Do List Uygulaması
HTML:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>To-Do List</title>
</head>
<body>
<h1>To-Do List</h1>
<input type="text" id="taskInput" placeholder="New Task">
<button id="addTaskBtn">Add Task</button>
<ul id="taskList"></ul>
<script src="app.js"></script>
</body>
</html>
JavaScript (app.js):
javascript
document.getElementById('addTaskBtn').addEventListener('click', function() {
const taskInput = document.getElementById('taskInput');
const taskText = taskInput.value;
if (taskText) {
const li = document.createElement('li');
li.textContent = taskText;
document.getElementById('taskList').appendChild(li);
taskInput.value = '';
}
});
async function getData() {
try {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
console.log(data);
} catch (error) {
console.error('Error:', error);
}
}
getData();
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
document.getElementById('myButton').addEventListener('click', function() {
alert('Button clicked!');
});
document.getElementById('myElement').innerHTML = 'Hello, World!';
for (let i = 0; i < 5; i++) {
console.log(i);
}
let i = 0;
while (i < 5) {
console.log(i);
i++;
}
if (age > 18) {
console.log('Adult');
} else {
console.log('Not an adult');
}
function greet(name) {
return `Hello, ${name}`;
}
const greet = (name) => `Hello, ${name}`; // ok fonksiyonu
let name = 'John'; // let ile tanımlama
const age = 30; // sabit değişken
var city = 'New York'; // var ile tanımlama (eski yöntem)
JavaScript, web geliştirme için çok güçlü ve esnek bir dildir. İstemci ve sunucu tarafında kullanılabilir, asenkron işlemleri kolayca yönetir ve geniş bir ekosisteme sahiptir. Modern JavaScript, kullanıcı dostu ve performanslı uygulamalar geliştirmeyi sağlayan pek çok araç ve kütüphane ile desteklenmektedir.
gücüne hayran kalacaksınız.