JavaScript'i Derinlemesine Öğren
Son dönemin en popüler ve en çok kullanılan dili JavaScript diyebiliriz. Artık JavaScript her yerde Web, Sunucu, Mobil Cihazlar, VR Gözlükler. Bundan dolayı JS nasıl çalıştığını anlamamız biz geliştiricilerin daha kaliteli, esnek ve performanslı kodlar yazmamızı sağlayabilir. Bu kitap JavaScript temel seviyelerini anlamış kişilerin daha derinlere dalarak JS arkaplanda nasıl çalıştığını anlamalarını sağlayacaktır.
İçerik
Geleceğin Programlama Dili JavaScript mi ?
Bu Kitap ile Aşağıdaki Sorulara Cevaplar Bulmaya Çalışacağız.
JS Nasıl İşletilir ?
- Bellek Kullanımı (Stack vs Heap)
- Call Stack
- Asenkron Yapılar (WebAPIs, EventLoop ve TaskQueue)
JS Arka planda Nasıl Çalışıyor (Lexical Env, Exec Context, Scope ve Clousure)
- JS Çalıştırılmasının Ana Akışı
- Syntax Parsing -> Interprete -> Compile
- Temel Kavramlar
- Lexical Environment
- Execution Context
- Object Model
- Execution Context Nasıl Çalışır ?
- Hoisting Nedir?
- Execution Context 2 Fazı Bulunur
- Creation Phase (Oluşturulma Fazı)
- Run Phase (Çalıştırılma Fazı)
- Call Stack Nasıl Çalışır ?
- Scope
- Scope Nedir?
- Scope Chain Nedir ?
- Closure Nedir
- Object Model Çalışmasını Detaylı İnceleme
- JavaScript Engineʼde Object Model Nasıl Tutulur ?
- Property Attributes
- JS Engine Array
- Object Aynı Şekle Sahip ise Bellekte Nasıl Tutuluyor ?
- Object Hangi Shape Üzerinden Oluşturulacağını nasıl Biliyor ?
- JS Engine Object Property Erişirken Kısayol Ezberi Oluşturur.
- Abstract Syntax Tree (AST) Nasıl Çalışır ?
- Github Kod Örnekleri
JavaScript Veri Türleri
Değişkenlerin Veri Türlerini Sorgulama (typeof)
JS Operator
Javascriptʼ te prototype, proto Kavramlarını Anlamak
- Dört Örnek İçin Arkaplan İncelemesi
- Arka Plan Altyapılarını Nasıl Aynı Hale Getirebiliriz ?
- prototype vs proto Arasındaki Fark
JSʼte Kalıtım(Inheritance) Nasıl Gerçekleşir ?
- Obje Nasıl Tanımlanır ?
- Objemize Bir Fonksiyon Eklemeye Çalışalım.
- Prototype Nedir ? Ne işe yarar ?
Fonksiyonlar
- Fonksiyon Türleri
- İsimlendirmelerine Göre Fonksiyon Türleri
- İşlevlerine Göre Fonksiyon Türleri
- İşleyiş Türlerine Göre Fonksiyon Türleri
- Arrow Fonksiyonları Nasıl Tanımlanır ?
- Mutable vs Immutable
- Fonksiyon bir Object midir ?
- Prototype Kendi Fonksiyonlarımı Ekleyebilir miyiz?
- Arrow Fonksiyon ile Normal Fonksiyon Aynı Yapıda mı ?
- Fonksiyon Arguments Nasıl Çalışıyor.
JavaScriptʼte this Ne Anlama Geliyor ?
- Kodun Farklı Yerlerinde this Hangi Değerleri Alır ?
- Apply ve call ne işe yarıyor ?
- Bind ne işe yarıyor ?
- new durumunda Fonksiyon Nasıl Davranır ?
Object.assign() veya Spread
Object Merge/Extends Kullanımı
- Toplama Çıkarmayı Biraz Genişletelim ve Çarpa, Bölme Ekleyelim
Class Fields Referanslar