Javascript
JavaScript, web üzerinde dinamik içerik oluşturmak için başlıca
kullanılan, çok yönlü bir yüksek seviye programlama dilidir.
JavaScript, etkileşimli ve duyarlı kullanıcı arayüzleri oluşturma imkanı
vererek web sitelerini daha etkileşimli hale getirir.
• Netscape'te Doğuşu (1995):
• JavaScript, 1995 yılında Brendan Eich tarafından Netscape
Communications Corporation'da çalışırken oluşturuldu.
• Dil başlangıçta "Mocha" olarak adlandırıldı ve daha sonra "LiveScript"
adını aldı. Sonunda, Sun Microsystems ile yapılan bir pazarlama
işbirliğinin bir parçası olarak adı "JavaScript" olarak belirlendi.
• Netscape Navigator 2.0 (1995):
• JavaScript, Eylül 1995'te Netscape Navigator 2.0'de ilk kez görüldü.
• Başlangıçtaki amacı, web tarayıcıları içinde müşteri tarafı etkileşimleri
için bir yazılım dili sağlamaktı.
• ECMAScript standardizasyonu (1997):
• 1997'de, JavaScript Avrupa Bilgisayar Üreticileri Birliği (ECMA)
tarafından standartlaştırma için sunuldu.
• Standartlaştırma süreci, ECMAScript spesifikasyonunun
oluşturulmasına yol açtı ve o zamandan beri JavaScript'in temelini
oluşturdu.
• AJAX'ın Tanıtımı (2000'ler):
• Asenkron JavaScript ve XML (AJAX), 2000'li yılların ortalarında
popülerlik kazandı.
• AJAX, web sayfalarının verileri sunucudan asenkron olarak almasına ve
göndermesine olanak tanıyarak daha akıcı ve daha dinamik bir
kullanıcı deneyimi sağladı.
• Sunucu Tarafında JavaScript Kullanımı: [Link] (2009):
• Ryan Dahl, 2009'da [Link]'i tanıtarak JavaScript'in sunucu tarafında
kullanılmasını sağladı.
• Bu, JavaScript'in tarayıcı dışında genişlemesini sağladı ve geliştiricilere
hem müşteri tarafı hem de sunucu tarafı geliştirme için aynı dili
kullanma imkanı sağladı.
• ES6/ES2015 ve Sonrası (2015'ten İtibaren):
• ECMAScript 6 veya kısaca ES6 veya ES2015 olarak da bilinen,
JavaScript'e birçok yeni özellik ve geliştirmeler getirdi.
• Yıllık olarak yayımlanan ardışık ECMAScript sürümleri, ek iyileştirmeler
ve sözdizimi geliştirmeleri getirerek dilin evrimini sağladı.
• JavaScript Çerçevelerinin (Frameworks) Yükselişi (2010'lar):
• 2010'lar, Angular, React ve [Link] gibi JavaScript çerçevelerinin ve
kütüphanelerinin yaygınlaşmasına tanık oldu.
• Bu çerçeveler, karmaşık ve etkileşimli web uygulamalarının
geliştirilmesini kolaylaştırdı.
• Modern Web Geliştirmede JavaScript:
• JavaScript, modern web geliştirmenin vazgeçilmez bir parçası haline
gelmiştir ve web siteleri ile web uygulamalarında dinamik ve
etkileşimli özellikleri güçlendirir.
• npm (Node Package Manager) gibi araçların ve Webpack gibi
paketleyicilerin ortaya çıkmasıyla, yazılımcılar bağımlılıkları kolayca
yönetebilir ve karmaşık uygulamalar oluşturabilirler.
• WebAssembly ve Sonrası (2017'den İtibaren):
• WebAssembly (Wasm), web tarayıcılarında kodun yüksek performanslı
bir şekilde çalıştırılmasını sağlayan bir yığın tabanlı sanal makine için
ikili bir komut formatı olarak ortaya çıktı.
• JavaScript ekosistemi, performansı, güvenliği ve geliştirici deneyimini
iyileştirmek için devam eden çabalarla birlikte evrimini sürdürüyor.
Variables - Değişkenler
Programlamada, bir değişken sembolik bir isim veya tanımlayıcıdır
ve bir değer veya bellekte bir depolama konumu ile ilişkilidir.
Program içinde verileri depolamak ve işlemek için bir konteyner görevi
görür.
Değişkenler, geliştiricilere verilerle dinamik ve esnek bir şekilde çalışma
olanağı sağlar ve farklı zamanlarda farklı değerlerin depolanmasına izin
verir.
Değişken Değiştirilebilirliği:
Değiştirilebilir Değişkenler (var, let): var veya let ile
tanımlanan değişkenler farklı değerlere yeniden atanabilirler, bu
da onları değiştirilebilir kılar.
let mutableVar = 'initial';
mutableVar = 'changed'; // Reassigning the value
Değiştirilemez Değişkenler (const): const ile tanımlanan
değişkenler sabittir ve başlatıldıktan sonra yeniden atanamazlar.
Bunlar değiştirilemezdir.
const immutableVar = 'unchangeable';
// immutableVar = 'new value'; // Error: Cannot reassign a
constant variable
Değişken oluşturma süreci iki ana adımdan oluşur:
deklarasyon ve başlatma.
let, var, and const: Variable
Declarations
The "let", "var", ve "const" anahtar kelimeleri değişken bildirimleri için
kullanılır, her biri farklı özelliklere sahiptir.
var
• var: başından boyunca değişken bildirimi için kullanılan var, fonksiyon
kapsamlıdır, yani kapsamı tanımlandığı fonksiyonla sınırlıdır. Ancak,
blok kapsamını dikkate almaz, bu da potansiyel sorunlara yol açabilir.
var x;
[Link](x);
Değişken Kapsamı:
Global Kapsam: Herhangi bir fonksiyon veya blok
dışında tanımlanan değişkenler global kapsama sahiptir
ve tüm program boyunca erişilebilirler.
let globalVar = 10; // Global variable
Yerel Kapsam: Bir fonksiyon veya blok içinde
tanımlanan değişkenler yerel kapsama sahiptir, yani
sadece o belirli fonksiyon veya blok içinde erişilebilirler.
function exampleFunction() {
let localVar = 20; // Local variable
}
Başlatma:
Bildirimden sonra, bir değişkene atama operatörü (=) kullanılarak bir
başlangıç değeri atanabilir.
var x = 10;
[Link](x);
let
• let: ECMAScript 6 (ES6) ile tanıtılan let, blok kapsamlıdır ve var'dan
daha öngörülebilir bir davranış sağlar. Genellikle yeniden atanabilen
değişkenler için kullanılır.
let y = 20;
[Link](y);
const
• const: Blok kapsamı açısından let ile benzer olan const, yeniden
atanmaması gereken sabit değerler için kullanılır. Belirli bir ölçüde
değiştirilemezlik sağlar.
const z = 30;
[Link](z);
JavaScript'te İlkel Veri Türleri:
1. String 4. Undefined
2. Number 5. Null
3. Boolean 6. Bigint
• 1. String (Dize): Metin verilerini temsil eder. Örneğin: "Hello, World!".
• 2. Number (Sayı): Sayısal verileri temsil eder. Örneğin: 42.
• 3. Boolean (Boolean):Mantıksal değerleri temsil eder. Doğru (true) veya yanlış (false).
• 4. Undefined:Bir değişkenin tanımlı olmadığını belirtir.
• 5. Null: Değerin boş veya yok olduğunu belirtir.
• 6. BigInt: Büyük tamsayıları temsil eder. ES10 ile tanıtılmıştır.
Bu ilkel veri türleri, JavaScript'te temel veri depolama ve işleme işlemleri için kullanılır.
String:
Strings karakter dizilerini temsil eder ve metin için kullanılır. Tek veya
çift tırnak kullanılarak tanımlanabilirler.
JavaScript'te dizeler değiştirilemezdir, yani oluşturulduktan sonra
değerleri değiştirilemez. Birleştirme gibi işlemler yeni dizeler oluşturur.
let greeting = "Hello, World!";
let name = 'Alice’;
Numbers:
JavaScript’te numbers, hem tam sayıları hem de
ondalıklı sayıları temsil eder.
JavaScript sayıları aritmetik işlemler için kullanılabilir. Dil,
tam sayılar ile ondalıklı sayılar arasında ayrım yapmaz.
let age = 25;
let pi = 3.14;
Boolean:
Booleanlar doğru (true) veya yanlış (false) değerleri temsil eder ve
programlamada karar verme süreçlerinde temel bir role sahiptir.
Booleanlar genellikle koşullu ifadelerde ve kontrol akış yapılarında
belirli koşullara bağlı olarak kodun çalıştırılması için kullanılır.
let isStudent = true;
let hasJob = false;
JavaScript'te Kompozit Veri Türleri
1. An object
2. An array
3. A date
• 1. Objects (Nesneler): Nesneler, anahtar-değer çiftlerinden oluşan karmaşık veri
yapılarıdır. Nesneler, fonksiyonlar, dizeler, sayılar vb. gibi çeşitli veri türlerini içerebilir.
• 2. Arrays (Diziler): Diziler, sıralı bir şekilde depolanan ve endekslenen öğelerin
koleksiyonudur. Dizilerdeki her öğe bir değerdir ve bir endeksle erişilebilir.
• 3. Functions (Fonksiyonlar): JavaScript'te fonksiyonlar birinci sınıf nesnelerdir, yani bir
değişken olarak saklanabilir, başka bir fonksiyona argüman olarak geçirilebilir ve başka
bir fonksiyondan döndürülebilir.
Bu kompozit veri tipleri, JavaScript programlarında daha karmaşık veri yapılarını temsil
etmek için kullanılır.
Fonksiyonlar: Modüler Kod
Yürütme
JavaScript'teki fonksiyonlar, belirli bir görevi yerine
getirmek için tasarlanmış kod bloklarıdır.
Fonksiyonlar, kodun modülerliğini, yeniden
kullanılabilirliğini ve bakımını artırır.
function exampleLet() {
let y = 20;
[Link](y);
}
function exampleLet() {
let y = 20;
let y = 30;
[Link](y);
}
function exampleConst() {
const z = 30;
[Link](z);
}
function exampleConst() {
const z = 30;
z = 40;
[Link](z);
}
function exampleConst() {
const z = 30;
z = 40;
[Link](z);
}
//it will alert “Error: Assignment to a constant variable”
Fonksiyonlar parametre alabilir, değer döndürebilir
ve argümanlarla çağrılabilir.
Fonksiyon kapsamını, kapanışları (closures) ve doğru
parametre kullanımını anlamak etkili JavaScript
programlaması için önemlidir.
Declaration function
function greet(name) {
[Link](`Hello, ${name}!`);
}
greet(‘Fatma’);
// Outputs: Hello, Fatma!
Expression function
const add = function (a, b) {
return a + b;
};
[Link](add(5, 3));
// Outputs: 8
Expression function
let basePrice = 50;
let discount = 0.2;
let finalPrice = basePrice - (basePrice * discount);
Arrow function (ES6)
const multiply = (x, y) => x * y;
[Link](multiply(4, 6));
// Outputs: 24
home | [Link] ([Link])