Javascript öğrenmek için ilk adımımızı attığımız bu yolda başlangıcımız bebeklik safhasında emekleyerek yeni bir şeyleri keşfetmekle geçecek. Eğer daha ilerideki bir adımda olduğunuzu ve bu safhayı geçmeniz gerektiğini düşünüyorsanız, yine de kaçırdığınız önemli bir temel bilgi var mı diye göz atmanızı tavsiye ederim.
Bu aşamada daha önce de söylediğimiz gibi Javascript’in yazım kurallarına(Syntax) aşina olmaya çalışacağız. Amacımız;
- Değişkenlerin nasıl tanımlandığını
- Basit veri türlerini(metin(string), sayısal(number), mantıksal(boolean), boş(null) ve tanımsız(undefined))
- Nesne, Dizi ve Fonksiyon kavramlarını
- if/else koşullu ifadelerinin nasıl kullanılacağını
- Değişkenleri karşılaştırmayı
- for döngüsünün nasıl kullanılacağını öğrenmektir.
Bu adımda size yardımcı olabilecek eğitim kaynaklarından bazıları şunlardır;
- Udacity – Intro to Javascript (Ücretsiz)
- Code Academy – Introduction to Javascript (Ücretsiz)
- Pluralsight – Javascript Core Language (Ücretli)
- Frontend Masters – Introduction to JavaScript Programming (Ücretli)
Bu eğitimlerden herhangi birini takip etmeye karar verirseniz, özellikle yazım kurallarına(syntax) dikkat ediniz ve anlatılan her örneği mutlaka siz de kod editörünüzü (Visual Studio Code) açarak kendiniz yazmaya özen gösteriniz. Özellikle kodlama yaparken bir virgül eksik olsa dahi binlerce satır kodun çalışmayacağını göz önünde bulundurun ve öğrendiğiniz her kavramı, basit de olsa zorlanıyor da olsanız kendiniz kod yazarak uygulamaya özen gösterin. Kodlama tarih dersi gibi okuyarak, izleyerek ya da sadece not alarak öğrenilmez. Ellerinizi kirletmekten, yani hamuru kendiniz yoğurmaktan çekinmeyin. Kod yazın. Hata yapın. Hatanızın nerede olduğunu görün ve öğrenin.
Javascript öğrenmek bir kariyer inşa etmeniz için yapmanız gerekenler üzerine bir kaç tavsiye vermem gerekirse;
- Kodlama öğrenmenin alfabesi de ABC ile başlar; ABC(Always Be Coding)
Yani; Daima Kodlama Yapın. Öğrendiğiniz her şeyi uygulayın. Buna zaman ayırın. Bazen günde 5 dakika ayırabilirsiniz, bir başka gün ise 5 saat. Bu sayede temeliniz sağlam olacak ve pratik kodlama yapma yeteneği kazandıracaktır. En önemlisi de; düzenli olarak disiplinli bir şekilde kodlama alışkanlığı kazandıracaktır. Eğer size bu alışkanlığı kazandıracak bir motivasyona ihtiyaç duyuyorsanız Twitter’da #100daysofcode hashtag’iyle 100 gün boyunca her gün kodlama yapma ve her gün ne yaptığınızı paylaşma akımına katılabilirsiniz. Böylece bu yolda yalnız olmadığınızı hissedeceksiniz.
- Kendinize online topluluklar bularak yardım alın ve tabii ki yardım etmeyi de unutmayın. Bunlar; bir Facebook grup sayfası, Discord, Telegram ya da Slack grubu, bir web forumu olabilir. Bir topluluğun parçası olmak; hem diğer insanların karşılaştığı sorunları görmenizi ve kendinizi test etmenizi sağlar, hem de bu yolda yalnız yürümemeniz aşamadığınız bir sorunda yoldan çıkmanızın ve yolu terketmenizin önüne geçer.
- Öğrendiğiniz kavramlar ile ilgili iş başvurularında çıkan soruları araştırın ve kendinizi test edin. Böylece, hem neyi ne kadar öğrendiğinizi görmüş olur hem de daha sonra kariyer yapmak istediğinizde karşınıza ne çıkacağını bilmiş olursunuz. Bir konuyu tam olarak öğrendiğinizi anlamanın en iyi yolu, onu bir başkasına öğretebilecek kadar iyi anlatabiliyor olmanızdır.
- Eğitimini aldığınız konuda profesyonel olarak çalışan insanlar ile iletişim kurmaya çalışın ve öğrendiğiniz şeylerin sektörde nasıl kullanıldığını, problemleri nasıl ele aldıklarını, ne tür teknolojiler kullandıklarını araştırın. Böylece öğrendiğiniz kavramların gerçek hayat uygulamalarını keşfetmiş olursunuz.
Eğer yeterince zaman ayırabilirseniz ve odaklanabilirseniz bu safha yani kavramları tanımanızı sağlayacak olan bebeklik safhası 2 hafta gibi bir sürede tamamlanabilir. Ancak daha uzun sürerse de endişe etmenize gerek yok. Ne kadar hızlı öğrendiğiniz değil, ne kadar iyi öğrendiğiniz önemlidir. Ayrıca, temellerin sağlam atılması ilerleyen zamanlarda sorunlarla karşılaşmamanız için faydalı olacaktır.
Eğer öğrendiğiniz kavramları pekiştirmek için yazdığınız kodları çalıştırabileceğiniz bilgisayarınızda ya da internet üzerinde çalışan bir sunucunuz yoksa online Javascript kodu yazıp çalıştırmanızı sağlayacak olan pek çok editör yardımınıza koşacaktır; jsfiddle, jsbin, codepen gibi.
Şu soruların cevaplarını açık şekilde verip detaylarıyla tarif edebiliyorsanız, bebeklik safhasını tamamlamış ve bir sonraki safhaya hazırlanmışsınız demektir;
- Javascript’teki 5 temel veri türünü açıklayınız.
- Değişkenleri nasıl tanımlayıp, değer atayabileceğinizi açıklayınız.
- const, let ve var arasındaki farkları açıklayınız.
- Şu operatörlerin ne işe yaradığını açıklayınız;
+ , – , * , / , % - Şu karşılaştırma operatörlerinin işlevlerini açıklayınız;
=== , !== , > , >= , < , <= - Koşullu ifadeleri nasıl kullandığınızı açıklayınız; if , if/else , else
- for döngüsünü nasıl kullandığınızı açıklayınız.
- Dizi nedir?
- Değerleri diziler içinde nasıl depolarsınız?
- Dizi içindeki değerlere nasıl ulaşırsınız?
- Değerleri dizilerden nasıl çıkartırsınız?
- Bir dizi içindeki her bir değer ile nasıl işlem gerçekleştirirsiniz?
- Nesne nedir?
- Değerleri nesneler içinde nasıl depolarsınız?
- Nesne içindeki değerlere nasıl ulaşırsınız?
- Değerleri nesnelerden nasıl çıkartırsınız?
- Bir nesne içindeki her bir değer ile nasıl işlem gerçekleştirirsiniz?
- Bir nesne üzerinde method ne anlama gelir?
- Methodları nasıl tanımlarsınız?
- Methodları nasıl çağırır ve çalıştırırsınız?
- Fonksiyon nedir?
- Fonksiyonları nasıl tanımlarsınız?
- Fonksiyonları nasıl çağırır ve çalıştırırsınız?
- Fonksiyonlarda parametreleri nasıl kullanırsınız?
- return ifadesi fonksiyon içinde hangi işlevi yapar?
Not: Bu sayfada yer alan eğitim kaynaklarını ve tavsiyelerde yer alan topluluk kaynaklarını zaman zaman güncelleyeceğim. O nedenle arada sırada tekrar göz atmanızda fayda olabilir.