JavaScript, popüler programlama dilleri arasında yer alır. Üst düzey, yorumlanmış bir programlama dilidir.
StackOverflow Geliştirici Anketi’ne göre en çok tercih edilen programlama dillerinden biridir. Bu nedenle JavaScript öğrenilmeye değer bir dil.
Kariyerinizde JavaScript Developer olarak ilerlemek istiyorsanız onunla ilgili gelebilecek her soruya hazırlıklı olmalısınız. Mülakatlarda karşınıza çıkabilecek en popüler JavaScript mülakat sorularını ve cevaplarını sizin için listeledik.
En Sık Karşılaşılan 37 JavaScript Mülakat Sorusu ve Cevapları
1. JavaScript nedir?
JavaScript, hem istemci hem de sunucu tarafında geliştirme için kullanılan en popüler betik dillerinden bir tanesidir. JavaScript kodu, web tarayıcıları tarafından anlaşılabilen ve çalıştırılabilen HTML sayfalarına eklenebilir.
2. JavaScript'in Java'dan farkı nedir?
Java bir programlama dilidir. JavaScript ise aslında bir betik dilidir. Java, işletim sisteminde veya bir tarayıcıda çalışabilen uygulamalar oluşturmak için kullanılırken JavaScript, yalnızca bir tarayıcı içinde çalışır. JavaScript ile bağımsız masaüstü uygulamaları oluşturulur.
3. JavaScript veri türleri nelerdir?
JavaScript tarafından desteklenen toplam 7 temel veri türü vardır. Bu veri türleri şöyledir:
- Boolean – Doğru ve yanlış değerleri gösterir.
- Null – Boş veya hakkında bilgi olmayan değerleri temsil eder.
- Number – Sayı değerlerini temsil eder.
- Object – Verileri veya daha karmaşık içerikleri depolamak için kullanılır.
- String – Tek karakterli ve çok karakterli sayıları temsil eder.
- Symbol – Nesneleri tanımlamaya yönelik değerlerdir.
- Undefined – Bir değişken JavaScript’te atanmamışsa bu değişken tanımsızdır. Bu tanımsız veri türlerini temsil etmek için kullanılır.
4. JavaScript'in öne çıkan özellikleri nelerdir?
JavaScript'in bazı temel ve önemli özellikleri şunlardır:
✅ JavaScript, nesne yönelimlidir.
✅ JavaScript, açık kaynaklıdır.
✅ JavaScript, bir betik dilidir.
5. JavaScript’te “let” ve “var” ayrımı nasıl yapılır?
JavaScript'te değişken bildirimi için hem “let” hem de “var” kullanılır. Aralarındaki en önemli fark, “var” işlev kapsamlı iken, “let” blok kapsamlıdır.
6. JavaScript escape (kaçış) karakterleri nelerdir?
JavaScript'te; (&), ('), (" ") ve (' ') gibi özel karakterler yazılırken kaçış karakteri olan (\ \) ters eğik çizgi kullanılır.
JavaScript escape (kaçış) karakterleri şöyledir:
- \b – Geri alma
- \f – Form beslemesi
- \n – Yeni satır
- \r – Satır başı
- \t – Tab
- \v – Dikey tab
7. Javascript’te çıktı nasıl görülür?
JavaScript’te yapılan hesaplamaların sonucunu görebilmek için ekrana yazdırmak gerekir. Javascript’in gerçekleştirdiği işlemleri görmenin 4 farklı yolu vardır:
- ✅ alert() - mesaj kutusunda görüntülemek
- ✅ document.write() - Html sayfasında görüntülemek
- ✅ innerHTML - Html etiketi içinde görüntülemek
- ✅ console.log() - tarayıcı konsolunda görüntülemek
📍 innerHTML kullanımı örnek syntax:
HTML nesnelerini seçmek için kullanılan yöntemdir.
📍 document.write() kullanımı örnek syntax:
JavaScript komutlarını test etmek ve sonuçları ekrana yazdırmak için kullanılan yöntemdir.
📍 alert() kullanımı örnek syntax:
JavaScript verilerini uyarı mesajı olarak ekran yazdırmak için kullanılan yöntemdir.
📍 console.log() kullanımı:
Nesneler üzerindeki işlemleri görüntülemek için kullanılan yöntemdir.
8. DOM nedir?
DOM, Doküman Nesne Modeli anlamına gelir. Bu HTML belgesini temsil eder. HTML içeriğine erişmek ve içeriğini değiştirmek için kullanılır.
9. JavaScript’te çerez nasıl oluşturulur?
JavaScript’te çerez oluşturmak oldukça basittir. Şu yöntemle çerez oluşturulabilir:
document.cookie = "key1 = value1; key2 = value2; expires = date"
10. JavaScript kodunu birkaç satıra bölmek mümkün mü?
Kodlar çok uzun bir satıra yayılırsa, kodların bütünü görülmediği için çalışmak zorlaşabilir. Bu durumda, ters eğik çizgi '\' kullanılarak kod satırı bölünebilir.
📍 Örnek:
11. Bildirilmemiş (undeclared) ve tanımlanmamış (undefined) değişkenler nelerdir?
➡️ Bildirilmemiş değişkenler, bir programda bulunmayan değişkenlerdir. Program, bildirilmemiş bir değişkenin değerini okumaya çalışırsa, çalışma zamanı hatası ile karşılaşılır.
➡️ Tanımsız değişkenler ise, programda tanımlanmış ancak herhangi bir değer verilmemiş değişkenlerdir.
12. JavaScript'te 'this' anahtar kelimesi nedir?
JavaScript'teki 'this' anahtar kelimesi, bir fonksiyonun içinde kullanıldığında, o anda çalıştırılan fonksiyonun bağlı olduğu nesneyi (objeyi) temsil eden özel bir anahtar kelimedir.
This anahtar kelimesi kullanıldığı yere göre farklı değerler alabilir. Örneğin bir nesne içerisinde kullanıldığında farklı bir değer ifade ederken bir fonksiyon içerisinde kullanıldığında farklı bir değer ifade edebilir.
Örneğin bu işlemin çıktısı “Anıl Yıldız” olacaktır.
13. JavaScript'te zamanlayıcıların çalışması nedir?
Zamanlayıcılar, önceden belirlenmiş bir zamanda kod parçasını yürütmek veya belirli bir aralıkta kodu tekrarlamak için kullanılır. Bu işlem, setTimeout, setInterval ve clearInterval işlevleri kullanılarak yapılır.
- ⏳ setTimeout (function, delay) işlevi, belirtilen gecikmeden sonra belirli bir işlevi çağıran bir zamanlayıcıyı başlatmak için kullanılır.
- ⏱️ setInterval (fonksiyon, gecikme) işlevi, verilen işlevi belirtilen gecikmede tekrar yürütür ve yalnızca iptal edildiğinde durur.
- 🛑clearInterval (id) işlevi zamanlayıcıya durma komutunu verir.
14. Javascript'te yorum nasıl yapılır? Yorum için hangi sembol kullanılır?
JavaScript’te yorumlar için 2 sembol bulunur.
1- Tek satırlık yorumlar için “//” kullanılır.
2- Çok satırlı yorumlar için “/*” kullanılır.
15. ViewState ve SessionState arasındaki fark nedir?
- 🆚 'ViewState', oturumdaki tek bir sayfaya özeldir.
- 🆚 'SessionState', tüm web uygulama sayfalarından erişilebilen, kullanıcıya özel verilere özeldir.
16. “===” operatörü nedir? “==” ile “===” operatörlerinin farkı nedir?
JavaScript'teki "===" (üç eşittir) operatörü, değerlerin hem değerlerini hem de türlerini karşılaştıran bir karşılaştırma operatörüdür. Verilen iki değerin eşit olup olmadığını kontrol eder.
“==” operatörü ile iki değişken karşılaştırıldığında, değişkenlerin türleri farklı ama değerleri aynı ise sonuç true olur. Karşılaştırma === ile yapılırsa iki değişkenin hem türü hem de değeri aynı ise sonuç true olur.
📍 Örnek:
17. JavaScript kullanarak nasıl form gönderilir?
JavaScript kullanarak bir form göndermek için submit() metodu kullanılır.
18. JavaScript, otomatik tür dönüştürmeyi destekler mi?
Evet, JavaScript otomatik tür dönüştürmeyi destekler. Farklı veri türleri üzerinden işlem yapıldığında veri türünü otomatik olarak doğru veri türüne dönüştürmeye çalışır.
19. JavaScrip’te bir elementin stili/sınıfı nasıl değiştirilir?
veya
20. JavaScript'teki döngü yapıları nelerdir?
Javascript'teki döngü yapıları şunlardır:
1️⃣ For - Bir kod bloğunda birkaç kez tekrarlanır.
2️⃣ While - Belirtilen bir koşul doğruyken döngüyü tekrar eder.
3️⃣ Do-while loops - Koşulu kontrol etmeden önce döngü bloğunu en az bir kez çalıştıran bir yapıdır. Koşul yanlış olduğu sürece döngü tekrar eder.
4️⃣ For in - Bir nesnenin tüm özellikleri için döngüyü tekrarlar.
21. JavaScript’te tabanlı bir dizi tam sayıya nasıl dönüştürülür?
🔖 parseInt() işlevi, sayıları farklı tabanlar arasında dönüştürmek için kullanılır.
4F'yi (veya 16 tabanını) tamsayıya dönüştürmek için kullanılan kod şöyle olacaktır:
22. JavaScript büyük/küçük harfe duyarlı bir dil midir?
Evet, JavaScript büyük/küçük harfe duyarlı bir betik dilidir.
23. JavaScript kaç tür işlevi destekler?
JavaScript’te adlandırılmış ve anonim olmak üzere iki temel işlev vardır.
24. JavaScript'te NULL ne demektir?
NULL değeri, hiçbir değeri veya nesneyi temsil etmemek için kullanılır.
25. Delete operatörünün işlevi nedir?
Delete anahtar sözcüğü, özellikleri ve değerleri silmek için kullanılır.
26. Uyarı kutusu (alert) ile onay kutusu (confirm) arasındaki fark nedir?
JavaScript'te uyarı kutusu (alert) ve onay kutusu (confirm) arasındaki fark şu şekildedir:
⚠️ Uyarı kutusu, sadece “tamam” düğmesi/butonu olan tek bir kutudur. Kullanıcı "Tamam" düğmesine tıkladığında uyarı kutusu kaybolur.
✅ Onay kutusu, “tamam” ve “iptal” olmak üzere iki düğmesi/butonu olan kutudur. Kullanıcı "Evet" veya "Hayır" düğmesine tıkladığında onay kutusu, kullanıcının seçimine göre farklı değerleri görüntüler.
27. JavaScript’te jenerik nesneler nasıl oluşturulur?
Jenerik nesneler şu şekilde oluşturulabilir:
28. JavaScript’te istisnaları işlemek için hangi anahtar kelimeler kullanılır?
JavaScript'te istisnaları (hataları) işlemek için try, catch ve finally anahtar kelimeleri kullanılır.
29. JavaScript’teki hata türleri nedir?
JavaScript’te üç tür hata vardır:
1- Syntax Errors: Bir web sayfası yüklenirken ortaya çıkan syntax kaynaklı hatalardır. JavaScript'te yorumlama zamanında ortaya çıkar.
JavaScript'te bir syntax hatası oluştuğunda, yalnızca syntax hatasıyla aynı iş parçacığında bulunan kod etkilenir ve diğer iş parçacıklarındaki kodlar, hata olmadığı varsayılarak yürütülür.
Örneğin, aşağıdaki satırda bir kapanış parantezi eksik olduğu için bir syntax hatası meydana gelir. 👇
2- Runtime Errors: HTML dili içindeki komutun yanlış kullanımından kaynaklanan hatalardır. Yürütme sırasında (derlemeden/yorumlamadan sonra) meydana gelir.
Örneğin, aşağıdaki örnekte çalışma zamanında var olmayan bir yöntem çağrıldığı için Runtime hatasını meydana gelir. 👇
3- Logical Errors: Farklı bir işlemle bir fonksiyon üzerinde gerçekleştirilen hatalı mantık nedeniyle oluşan hatalardır. Logical errors, izlenmesi en zor hata türleri olabilir.
30. JavaScript'te Push metodu nasıl kullanılır?
JavaScrip’te Push metodu, dizilerin sonuna öğe eklemek için kullanılır. Bu yöntem kullanılarak, birden çok öğe eklenebilir.
📍 Örnek syntax:
31. JavaScript'te unshift metodu nedir?
Unshif metodu, bir veya daha fazla öğeyi dizinin başına eklemek için kullanılan yöntemdir. Bu metod, mevcut dizinin ilk elemanı olarak belirtilen öğeleri ekler ve dizinin diğer elemanlarını kaydırır.
📍 Örnek syntax:
32. JavaScript'te 'Strict Mode' nedir ve nasıl etkinleştirilir?
JavaScript'te 'Strict Mode', kodun daha güvenli ve tutarlı bir şekilde çalışmasını ve bazı hatalı kullanımları hata olarak tanımlamasını sağlar. Strict mode bir JavaScript dosyasının tamamına uygulanabileceği gibi sadece belirli bir kod bloğuna da uygulanabilir.
Strict mode, dosyanın üzerine "usestrict" dizesi eklenerek etkinleştirilebilir.
Bir fonksiyonda Strict mode etkinleştirmek için: 👇
33. window.onload ve onDocumentReady nedir?
JavaScript'te, window.onload ve document.ready(), sayfa yüklenirken kullanılan iki farklı yöntemdir.
1️⃣ window.onload işlevi, tüm web sayfası yüklendikten sonra yürütülür. Başlık etiketi, stil sayfaları, resimler ve videolar dahil olmak üzere diğer tüm etiketler gibi DOM ile ilgili tüm öğeleri içerir.
Örnek syntax:
Bu kod örneğinde, window.onload'ın JavaScript'te nasıl çalıştığını görülebilir. 👇
Çıktı:
Bu, yukarıdaki kod yürütüldüğünde konsolda görüntülenen çıktıdır. 👇
2️⃣ onDocumentReady, kod bloğunu yürüten bir jQuery yöntemidir. DOM yüklendikten hemen sonra kodu yükler. Bu, kodun erken manipülasyonuna izin verir.
Örnek syntax:
34. JavaScript’te decodeURI() ve encodeURI() nedir?
decodeURI() ve encodeURI(), JavaScript'te URL'leri işlemek için kullanılan iki yöntemdir.
1️⃣ encodeURI(): Bu yöntem, bir URL'de kullanılan karakterleri uygun bir biçimde kodlayarak, geçersiz karakterleri URL içinde geçerli karakterlere dönüştürür. Özellikle URL içinde kullanılmaması gereken karakterler (boşluk, &, ?, # vb.) kodlanarak, URL'nin geçerli bir yapıya sahip olmasını sağlar.
2️⃣ decodeURI(): Bu yöntem, bir URL'de kodlanmış karakterleri çevirmeyi sağlar. Yani orjinal karakterleri elde eder.
35. JavaScript kullanmanın avantajları nelerdir?
JavaScript’in kullanım alanı oldukça geniştir. JavaScript'in bu kadar popüler olmasının nedeni tabii ki de sunduğu avantajlardır. JavaScript’in bazı avantajları şunlardır:
- Kullanımı kolay - JavaScript'in anlaşılması oldukça kolaydır. Yazılıma yeni başlasanız dahi JavaScript’i öğrenmek sanıldığı kadar zor değildir.
- Hızlı - JavaScript "yorumlanmış" bir dildir. Dolayısıyla derleme için olan süreyi kısaltır. Ayrıca JavaScript, sunucu tarafında bekleme sürelerini ortadan kaldırarak programın yürütülmesini hızlandırır.
- Uyumlu - JavaScript, diğer programlama dilleriyle sorunsuz bir şekilde çalışır. Bu nedenle birçok yazılımcı, çeşitli uygulamalar oluşturmak için JavaScript kullanmayı tercih eder.
- Sade - JavaScript'in anlaşılması ve öğrenilmesi kolaydır. Yapı, hem kullanıcılar hem de yazılımcılar için basittir.
- Popüler - Günümüzde en çok kullanılan tarayıcılar JavaScript'i desteklediğinden, hemen hemen her web uygulamalarında JavaScript kullanılır. Google, Amazon, PayPal vb. teknoloji devleri JavaScript'i kullanır.
- Zengin Arayüz - JavaScript, web sayfaları oluşturmak için çeşitli arayüzler sunar. Sürükle ve bırak bileşenleri web sayfasında geliştirilmiş kullanıcı deneyimi sağlar.
36. JavaScript ile ne yapılabilir?
- ✅ JavaScript, web sayfaları ve uygulamaları oluşturmak için kullanılır. Google Haritalar, JavaScript kullanılarak geliştirilmiştir.
- ✅ JavaScript akıllı saatlerde kullanılır.
- ✅ Google, Facebook, Netflix, Amazon vb. gibi her gün milyonlarca tıklama alan web siteleri JavaScript’in avantajlarından yararlanırlar.
- ✅ Mobil uygulamalar da JavaScript kullanarak oluşturulur. Bunun yanı sıra oyun geliştirme JavaScript’in bir diğer kullanım alanıdır.
37. JavaScript frameworkleri nelerdir?
En çok kullanılan JavaScript frameworkleri şunlardır:
- AngularJS: Hızlı uygulama geliştirme özelliği sağlayan web geliştirme frameworküdur.
- ReactJS: Facebook tarafından desteklenen üst düzey JavaScript frameworküdür.
- MeteorJS: Backend kısmında kullanılan JavaScript frameworküdür. Zamandan tasarruf etmeyi sağlar.
- jQuery: Web sitesini geliştirmek ve daha etkileşimli hale getirmek için kullanılan frameworktür. Google, WordPress ve IBM gibi teknoloji şirketleri jQuery'i kullanır.