1. Değişken Nedir?

Değişken, bir değeri saklamak için kullanılan bir isimdir. JavaScript'te, değişkenler var, let veya const anahtar kelimeleri kullanılarak tanımlanabilir. Değişkenler, kodun farklı bölümlerinde kullanılabilir ve değerleri değiştirilebilir. Bu özellik, programlamada esneklik sağlar.

<script>
    window.onload = function() {
        // Değişken tanımlama örnekleri
        var isim = "Ahmet"; // Eski yöntem
        let yas = 30;       // Blok seviyesinde tanımlama
        const pi = 3.14;   // Sabit değer, değiştirilemez

        alert("Değişken Nedir?\n" +
              "İsim: " + isim + "\n" +
              "Yaş: " + yas + "\n" +
              "Pi: " + pi);
    };
</script>

2- JavaScript'te Veri Tipleri

JavaScript'te veri tipleri, verilerin ne türde olduğunu belirler ve bu, JavaScript'in dinamik bir dil olmasının temelini oluşturur. JavaScript'te yedi temel veri tipi vardır:

String: Metin değerlerini temsil eder.
Number: Sayı değerlerini temsil eder. Tam sayılar ve ondalıklı sayılar için kullanılır.
Boolean: Mantıksal değerleri temsil eder. Sadece "true" veya "false" değerlerini alır.
Undefined: Bir değişken tanımlandığı halde bir değer atanmamışsa "undefined" olarak kabul edilir.
Null: Bilinçli olarak "boş" bir değer atanmak istendiğinde kullanılır.
Object: Anahtar-değer çiftlerinden oluşan karmaşık veri yapılarıdır.
Symbol: Eşsiz ve değişmez değerler oluşturmak için kullanılır.

3. String Veri Tipi

String veri tipi, metin değerlerini saklar. String'ler, tek tırnak, çift tırnak veya üçlü tırnak içinde tanımlanabilir. Örnek olarak, bir kullanıcıdan alınan isim veya mesaj gibi metin verileri string olarak saklanabilir.

<script>
    window.onload = function() {
        let selam = "Merhaba, Dünya!";
        let isim = 'Ahmet';
        let cokSatirliString = `Benim adım ${isim}.`; // Template literals

        alert("String Veri Tipi:\n" +
              "Selam: " + selam + "\n" +
              "İsim: " + isim + "\n" +
              "Çok Satırlı String: " + cokSatirliString);
    };
</script>

4. Number Veri Tipi

Number veri tipi, sayısal değerleri temsil eder. JavaScript, hem tam sayıları hem de ondalıklı sayıları destekler. İşlem yapmak için kullanılabilir.

<script>
    window.onload = function() {
        let tamSayi = 42;           // Tam sayı
        let ondalikSayi = 3.14;     // Ondalık sayı
        let toplam = tamSayi + ondalikSayi; // Toplama işlemi

        alert("Number Veri Tipi:\n" +
              "Tam Sayı: " + tamSayi + "\n" +
              "Ondalık Sayı: " + ondalikSayi + "\n" +
              "Toplama Sonucu: " + toplam);
    };
</script>

5. Boolean Veri Tipi

Boolean, mantıksal değerleri temsil eder. Sadece iki değeri vardır: "true" veya "false". Genellikle koşullu ifadelerde ve döngülerde kullanılır.

<script>
    window.onload = function() {
        let javaScriptEglenceliMi = true;
        let balikLezzetliMi = false;

        alert("Boolean Veri Tipi:\n" +
              "JavaScript Eğlenceli mi?: " + javaScriptEglenceliMi + "\n" +
              "Balık Lezzetli mi?: " + balikLezzetliMi);
    };
</script>

6. Undefined ve Null

Undefined, bir değişken tanımlandığı halde bir değer atanmadığında oluşur. Null ise bilinçli olarak "boş" bir değer atanmak istendiğinde kullanılır.

<script>
    window.onload = function() {
        let x; // undefined
        let y = null; // Boş değer

        alert("Undefined ve Null:\n" +
              "x (Undefined): " + x + "\n" +
              "y (Null): " + y);
    };
</script>

7. Object Veri Tipi

Object, JavaScript'te karmaşık veri yapıları oluşturmak için kullanılır. Anahtar-değer çiftlerinden oluşur. Bu, bir kullanıcı, ürün veya herhangi bir nesne hakkında daha fazla bilgi saklamaya olanak tanır.

<script>
    window.onload = function() {
        let kisi = {
            isim: "Ahmet",
            yas: 30,
            ogrenciMi: false
        };

        alert("Object Veri Tipi:\n" +
              "Kişi Adı: " + kisi.isim + "\n" +
              "Yaşı: " + kisi.yas + "\n" +
              "Öğrenci mi?: " + kisi.ogrenciMi);
    };
</script>

8. Symbol Veri Tipi

Symbol, ES6 ile tanıtılmıştır ve eşsiz ve değişmez değerler oluşturmak için kullanılır. Özellikle nesne anahtarları için kullanışlıdır.

<script>
    window.onload = function() {
        const esizId = Symbol("id");
        let nesne = {
            [esizId]: 123
        };

        alert("Symbol Veri Tipi:\n" +
              "Eşsiz ID: " + nesne[esizId]);
    };
</script>

9. Uygulamalı Örnek

Aşağıda, değişkenleri ve veri tiplerini kullanan bir örnek bulunmaktadır. Bu örnek, bir kullanıcıdan isim ve yaş alarak selam veren bir uygulama oluşturur.

<script>
    window.onload = function() {
        let kullaniciAdi = prompt("Adınızı girin:"); // String
        let kullaniciYasi = parseInt(prompt("Yaşınızı girin:")); // Number

        if (kullaniciYasi >= 18) {
            alert(`Uygulamalı Örnek:\nMerhaba ${kullaniciAdi}, yetişkinsiniz.`);
        } else {
            alert(`Uygulamalı Örnek:\nMerhaba ${kullaniciAdi}, henüz yetişkin değilsiniz.`);
        }

        let kisi = {
            isim: kullaniciAdi,
            yas: kullaniciYasi,
            yetiskinMi: kullaniciYasi >= 18
        };

        alert("Kişi Bilgileri:\n" +
              "Ad: " + kisi.isim + "\n" +
              "Yaş: " + kisi.yas + "\n" +
              "Yetişkin mi?: " + kisi.yetiskinMi);
    };
</script>