𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗞𝗮𝗽𝘀𝗮𝗺ı: 𝗕𝗹𝗼𝗸, 𝗚𝗹𝗼𝗯𝗮𝗹 𝘃𝗲 𝗙𝗼𝗻𝗸𝘀𝗶𝘆𝗼𝗻
Kapsam (Scope), bir değişkeni kodunuzun neresinde kullanabileceğinizi belirler.
Global Kapsam (Global Scope) Değişkenler fonksiyonların veya blokların dışında yaşar. Onlara betiğinizin her yerinden erişebilirsiniz. Uyarı: Global değişkenler hatalara (bug) yol açabilir çünkü kodunuzun herhangi bir parçası onları değiştirebilir.
Fonksiyon Kapsamı (Function Scope) Değişkenler bir fonksiyonun içinde yaşar. Onlara yalnızca o belirli fonksiyonun içinden erişebilirsiniz.
Blok Kapsamı (Block Scope) Bu,
letveyaconstkullanan modern JavaScript için geçerlidir. Değişkenler süslü parantezlerin{}içinde yaşar. Bir blok şunları içerir:
- if ifadeleri
- for döngüleri
- while döngüleri
- bağımsız bloklar {}
Kapsam Özeti:
- Global: Her yerden erişilebilir.
- Fonksiyon: Yalnızca fonksiyon içinde erişilebilir.
- Blok: Yalnızca süslü parantezler içinde erişilebilir.
- var: Fonksiyon kapsamını kullanır. Blok kapsamını görmezden gelir.
- let ve const: Blok kapsamını kullanır. Daha iyi kod için bunları kullanın.
Süreçleri (Processes) ve İş Parçacıklarını (Threads) Anlamak
Süreç (Process), kendi belleğine sahip olan çalışan bir programdır. WhatsApp'ı bir süreç olarak düşünün.
İş parçacığı (Thread), bir sürecin küçük bir parçasıdır. İş parçacıkları aynı belleği paylaşır.
- İş parçacıkları hafiftir (lightweight).
- Oluşturulmaları hızlıdır.
- Aynı anda birçok iş yapmanıza olanak tanırlar.
WhatsApp Örneği: Bir süreç (WhatsApp) birden fazla iş parçacığı çalıştırır:
- Mesaj alma
- Fotoğraf gönderme
- Video oynatma
- Bildirim gösterme
Kaynak: https://freeacademy.ai/lessons/global-vs-function-vs-block-scope Kaynak: https://josephcardillo.medium.com/the-difference-between-function-and-block-scope-in-javascript-4296b2322abe