Dev JavaScript mülakat soruları serimizin devamı olan part-2’ye hoş geldiniz. İlk kısımda 10 soru vardı. Şimdi 11. sorudan devam edeceğiz.
JavaScript mülakat soruları serisi dev bir rehber ve aşamalı olarak ilerliyor. Yani temelden daha kompleks yapılarak doğru ilerliyor. Bu yüzden part-1’den başlamanızı tavsiye ederim. Buradan part-1’e ulaşabilirsiniz. Hazırsanız JavaScript mülakat soruları serimize devam edelim.
Soru 11
let num1 = 10, num2 = 20;
let num3 = ++num1;
let num4 = num2++;
console.log(num1,num2,num3,num4);
Burada num1 değişkenine 10 değerini, num2 değişkenine de 20 değerini atadık. num1 değişkenini 1 artırarak num3 değişkeninin değeri olarak belirledik. (++num1 ifadesi num1 değişkeninin değerini 1 artırır.) Mevcut durumda num1’in değeri 11, num3’ün değeri de 11 oldu. Sonrasında num4’ü num2’ye eşitleyip ardından num2’nin değerini 1 artırdık. Burada ince bir ayrıntı var. num4, num2’nin henüz artırılmamış haline eşitleniyor ardından ise num2’nin değeri 1 artırılıyor. Bu durumda num4’ün değeri 20 olurken num2’nin değeri 21 olur. Yani konsolda sırasıyla 11,21,11,20 çıktılarını görürüz.
Soru 12
let a = 1;
let b = 1 + (a *= 2);
console.log(a, b);
a değişkeninin değerini 1 olarak belirledik. Sonrasında a’nın değerini 2 ile çarparak güncelledik (a *= 2) ve buna 1 ekledik. a’nın değeri 1 idi. 2 ile çarparak 1 eklediğimizde b’nin değeri 3 olarak güncellenir. Sonuç olarak a’nın güncel değeri 2 (2 ile çarptığımız için), b’nin güncel değeri ise 3 olacaktır. Konsolda sırasıyla 2 ve 3 çıktılarını görürüz.
Soru 13
let num = 80 / 0;
console.log(num);
JavaScript’te bir sayının 0 ile bölümü infinity değerini üretir. Bu yüzden konsolda infinity çıktısını görürüz.
Soru 14
let y = 5e3;
console.log(y);
Burada JavaScript’teki bilimsel notasyonun bir örneğini görüyoruz. e3 ifadesi aslında 10 üzeri 3 demektir. Yani 5e3 ifadesi 5*10^3 anlamına gelir. Yani konsolda 5000 çıktısını görürüz.
Soru 15
let value = String(1071)
console.log(value)
console.log(typeof value);
value normalde 1071 ancak String() fonksiyonu ile bunu number formatından string formatına çevirdik. Yani 1071 düz metin oldu. Konsolda önce 1071 değerini görürüz ardından console.log(typeof value)
koduyla value değişkeninin değerini ki bu da string olur.
Soru 16
console.log(3 * 2 < 30 - 20);
Aslında burada basit bir matematik işlemi var. İşlem önceliğine göre ilerleyecek olursak önce 3 * 2 değerinin sonucunu buluruz ki bu da 6 olur. Daha sonra 30-20 sonucunu hesaplarız, bu da 10 olur. Nihayetinde 6 < 10 eşitliğinin sonucunu konsola yazdırmış oluruz. 6 < 10 eşitliği sağlandığından true çıktısını konsolda görürüz.
Soru 17
let num;
num = 11
if (num < 5) {
console.log("Evet");
} else {
console.log("Hayır")
}
let num ifadesi bildiğimiz üzere undefined döndürür. Çünkü bu değişken için herhangi bir değer belirlenmemiş. Ardından num değişkenine 11 atadık. Hemen altında ilk defa if’li bir ifade görüyoruz. Buradaki ifade kısaca şudur: Eğer num değişkeni 5’ten küçükse konsola “Evet” yazdır, değilse “Hayır” yazdır. 11 < 5 eşitliği sağlanmadığından konsolda “Hayır” çıktısını görürüz.
Soru 18
let special = "Şekip" + 11
console.log(special);
console.log(typeof special);
special değişkenimizin değeri bir string olan “Şekip” ile bir sayı olan 11’in birleşmesinden oluşuyor. JavaScript’te bir string ile bir sayıyı toplamaya çalıştığımızda, JavaScript bunları yan yana getirerek birleştirir ve değerin cinsini stringe çevirir. Dolayısıyla konsolda önce Şekip11 çıktısını görürüz ardından ise string çıktısını görürüz.
Soru 19
let food= "Kebap"
let yummy= "En sevdiğim yiyecek ${food}.";
console.log(yummy);
Burada yummy değişkeninde bir string ifade kullandık ve bu string ifadenin içinde de food değişkenini çağırmaya çalıştık. Ancak burada bir sorun var. Bir değişkeni başka bir değişken içinde kullanmak istediğimizde değerimizi iki tırnak (“”) içinde değil ters betikler (“) içinde kullanırız. Buna template literals diyoruz JavaScript’te. İlerleyen zamanlarda karşımıza çıkacak zaten. Bu şekilde kullanım En sevdiğim yiyecek ${food}.
şeklinde bir sonuç verecektir.
Bu sefer aynı kodu aşağıdaki gibi yazalım:
let food= "Kebap"
let yummy= `En sevdiğim yiyecek ${food}.`;
console.log(yummy);
Bu şekilde yazdığımızda konsolda “En sevdiğim yiyecek Kebap.
” çıktısını konsolda görürüz çünkü ters betik içinde ifadeyi kullandık.
Soru 20
let num= "25"
if(num) {
fruit = "Muz"
} else {
fruit = "Çilek"
};
console.log(fruit);
num değişkenimizin değeri 25 ancak burada dikkat edilmesi gereken nokta 25’in parantezler içinde kullanılmış olmasıdır. JavaScript’te eğer bir sayıyı (number) parantez içinde kullanırsak otomatik olarak stringe dönüşür. Bu yüzden “25” değeri string bir değerdir. Koşullu ifadede num değişkeninin true olması durumunda konsola “Muz” yazdırmamızı, aksi halde ise “Çilek” yazdırmamızı sağlayan bir ifade var. String değerler varsayılan olarak true değerine sahiptirler. Bu yüzden num değişkeninin değeri true olur ve koşul sağlanarak konsolda “Muz” yazdırılır.
Evet, JavaScript mülakat soruları serimizin bu bölümünün de sonuna geldik. Part-3’te görüşmek dileğiyle. İyi çalışmalar.
Geri bildirim: JavaScript Mülakat Soruları: Temelden İleri Seviyeye – Part 3 - Frontçu Abi
Geri bildirim: JavaScript Mülakat Soruları - Temelden İleri Seviyeye : Part 5
Geri bildirim: JavaScript Mülakat Soruları - Temelden İleri Seviyeye - Part 4
Geri bildirim: JavaScript Mülakat Soruları: Temelden İleri Seviyeye – Part 6