top 45 javascript interview questions with detailed answers
Her JavaScript Geliştiricisi için ayrıntılı Cevaplarla En Sık Sorulan temel ve gelişmiş JavaScript Mülakat Soruları.
Bir röportaj için hazırlanıyorsanız, işte size en sık sorulan JS Mülakat Soruları ve referansınız için cevapları.
Teknik görüşmeniz sırasında karşılaşabileceğiniz soruları size tanıtmak için aynısını tasarladık.
Hadi keşfedelim!!
JavaScript hakkında
JavaScript, üst düzey bir programlama dilidir ve şu anda muhtemelen dünyada en çok kullanılan programlama dillerinden biridir. Web tarayıcılarını ve hatta sunucuları programlamak için kullanılabilir.
JavaScript'in önemini anlamak için, tarayıcınızda JavaScript'i devre dışı bırakın ve içine Web sayfasını yüklemeyi deneyin. Bu Web sayfaları düzgün çalışmayacaktır. İçlerindeki pek çok içerik yanlış davranabilir. Hemen hemen tüm modern tarayıcılar JavaScript, CSS ve HTML kombinasyonunu kullanır.
JavaScript, yorumlanmış bir programlama dilidir. Bir yorumlayıcı, Google Chrome, Microsoft Internet Explorer, vb. Gibi tarayıcılara gömülüdür. Dolayısıyla, kodu tarayıcının JavaScript Motoru tarafından işlenebilir.
JavaScript Aralık 1995'te ortaya çıktı ve başlangıçta LiveScript olarak adlandırıldı, ancak adı kısa süre sonra pazarlama nedenleriyle değiştirildi. Aynı zamanda benzerlik gösteren ancak tamamen farklı bir dil olan 'Java' ile karıştırılmamalıdır.
En Sık Sorulan JavaScript Mülakat Soruları
S # 1) JavaScript nedir?
Cevap: JavaScript, Netscape tarafından geliştirilmiş bir betik dilidir. Web tarayıcılarını ve hatta sunucuları programlamak için kullanılabilir. Bu dilin güzelliği olan web sayfasının içeriğini dinamik olarak güncelleyebilmektedir.
S # 2) Harici JavaScript kullanmanın avantajları nelerdir?
Cevap: Kodumuzda Harici JavaScript kullanmanın birçok avantajı vardır.
Bunlar aşağıda belirtilmiştir.
- Kod ayrımı yapılır.
- Kod Sürdürülebilirliği kolaydır.
- Performans daha iyi.
S # 3) Aşağıdaki kod parçacığında lütfen çıktıyı tahmin edebilir misiniz veya bir hata alırsanız lütfen hatayı açıklayın?
Sample: Software Testing Help
var studentName = 'Sajeesh Sreeni'; // String 'Sajeesh Sreeni' stored in studentName var studentName; // varaible is decalred again document.getElementById('studentName').innerHTML = 'Redeclaring the varaible will not lose the value!.
' +'Here the value in studentName is '+ studentName; Cevap dır-dir r : Bu kod herhangi bir hata üretmeyecektir. JavaScript'te değişkenlerin yeniden beyan edilmesine izin verilir. Dolayısıyla, buradaki ifadenin yürütülmesinden sonra değişkenin değeri kaybolmayacaktır.
S # 4) Aşağıdaki kod parçacığında lütfen çıktıyı tahmin edebilir veya bir hata alırsanız; lütfen hatayı açıklayınız?
Sample: Software Testing Help
var sum_first =50+20+' Sajeesh Sreeni '; var sum_second= ' Sajeesh Sreeni '+50+20; document.getElementById('sum_first').innerHTML = 'The first varaible sum is :'+sum_first + '
The second varaible sum is :'+sum_second ; Cevap: Bu kod herhangi bir hata göstermeyecek!
Kod pasajının çıktısı:
İlk değişken toplam: 70 Sajeesh Sreeni
İkinci değişken toplamı: Sajeesh Sreeni 5020
S # 5) test () ve exec () yöntemleri arasındaki fark nedir?
Cevap: Hem test () hem de exec () RegExp ifade yöntemleridir.
Bir kullanarak Ölçek () , belirli bir kalıp için bir dize arayacağız, eşleşen metni bulursa Boole değerini 'true' ya da 'false' döndürür.
Ama içinde exec () , belirli bir kalıp için bir dizge arayacağız, eşleşen metni bulursa kalıbı kendisi döndürür veya 'boş' değeri döndürür.
S # 6) JavaScript'in avantajları nelerdir?
Cevap: Bu Komut Dosyası dilinin aşağıda belirtildiği gibi birçok avantajı vardır.
- Hafif: Uygulaması kolaydır. Küçük bellek ayak izlerine sahiptir.
- Yorumlandı: Yorumlanmış bir dildir. Talimatlar doğrudan yürütülür.
- Nesne odaklı: Nesne yönelimli bir dildir.
- Birinci sınıf işlevler: JavaScript'te değer olarak bir işlev kullanılabilir.
- Komut Dosyası Dili: Bir çalışma ortamı için talimatların yazıldığı bir dildir.
S # 7) Aşağıdaki kod parçacığında lütfen çıktıyı tahmin edebilir misiniz veya bir hata alırsanız; lütfen hatayı açıklayınız?
Sample: Software Testing Help
Example Const Variable
const first_num; first_num =1000; document.getElementById('display').innerHTML = 'First Number:'+ first_num; Cevap: 'Sabit' değişkeni 'ilk_sayı' bir değerle başlatılmaz, bu nedenle kod bir sözdizimi hatası üretecektir.
Kod pasajının çıktısı:
Hata: Yakalanmamış Sözdizimi Hatası: const bildiriminde eksik başlatıcı
S # 8) Hata ayıklamak için herhangi bir tarayıcı kullandınız mı? Cevabınız evet ise nasıl yapılır?
Cevap: Klavyede 'F12' tuşuna basarak tarayıcıda hata ayıklamayı etkinleştirebiliriz. Sonuçları görüntülemek için 'Konsol' sekmesini seçin.
Console'da kesme noktaları belirleyebilir ve değişkenlerdeki değeri görüntüleyebiliriz. Tüm modern tarayıcılarda yerleşik bir hata ayıklayıcı bulunur (Örneğin: Chrome, Firefox, Opera ve Safari ) . Bu özellik açılıp kapatılabilir.
S # 9) JavaScript kodunda 'hata ayıklayıcı' anahtar kelimesinin kullanımı nedir?
Cevap: Kodda 'hata ayıklayıcı' anahtar kelimesini kullanmak, hata ayıklayıcıda kesme noktaları kullanmak gibidir.
Kodu test etmek için, hata ayıklayıcının tarayıcı için etkinleştirilmesi gerekir. Tarayıcı için hata ayıklama devre dışı bırakılırsa, kod çalışmayacaktır. Kodun hata ayıklaması sırasında, kalan bölüm sonraki satıra geçmeden önce çalışmayı durdurmalıdır.
S # 10) Farklı Hata Adı Değerleri türleri nelerdir?
Cevap: 'Hata Adı' Özelliğinde 6 tür değer vardır.
| Hata | Açıklama |
|---|---|
| Menzil Hatası | Aralık dışında bir sayı kullanırsak bu hatayı alacağız |
| Sözdizimi hatası | Yanlış sözdizimi kullandığımızda bu hata ortaya çıkar. (Lütfen Soru No: 7'ye bakınız) |
| Referans Hatası | Bildirilmemiş bir değişken kullanıldığında bu hata atılır.Lütfen Sorgu No: 19'a bakınız. |
| Değerlendirme Hatası | Eval () içindeki hata nedeniyle atıldı. Yeni JavaScript sürümünde bu hata yok |
| Tür Hatası | Değer, kullanılan tür aralığının dışında. Lütfen Soru No: 22'ye bakınız. |
| URI Hatası | Yasadışı karakterlerin kullanılması nedeniyle. |
S # 11) JavaScript Kaldırma nedir?
Cevap: 'JavaScript Kaldırma' yöntemini kullanırken, bir yorumlayıcı kodu çalıştırdığında, tüm değişkenler orijinal / mevcut kapsamın en üstüne kaldırılır. Kodun herhangi bir yerinde tanımlanmış bir değişkeniniz varsa, o zaman en üste getirilir.
Bu yöntem yalnızca bir değişkenin bildirimi için geçerlidir ve bir değişkenin başlatılması için geçerli değildir. Fonksiyonlar da yukarı kaldırılırken, fonksiyon açıklamaları yukarı kaldırılmaz.
Temel olarak, kodun içindeki değişkeni nerede tanımladığımızın pek bir önemi yok.
S # 12) JavaScript 'Katı Mod' nedir?
Cevap: 'Katı mod', kısıtlanmış bir JavaScript çeşididir. Genellikle bu dil hata yapma konusunda 'çok katı' değildir. Ancak 'Katı mod' da her türden hatayı, hatta sessiz hataları bile atar. Böylece hata ayıklama süreci daha kolay hale gelir. Ve geliştiricinin hata yapma şansı azalır.
S # 13) JavaScript 'Katı Mod' un özellikleri nelerdir?
Cevap: Aşağıda, 'Katı Mod' un özellikleri verilmiştir:
- 'Katı Mod', geliştiricilerin genel değişkenler oluşturmasını engelleyecektir.
- Geliştiricilerin yinelenen parametreleri kullanması kısıtlanmıştır.
- Katı mod, JavaScript anahtar sözcüğünü değişken adı veya işlev adı olarak kullanmanızı kısıtlar.
- Katı mod, komut dosyasının başında 'katı kullan' anahtar kelimesiyle belirtilir.
- Tüm tarayıcılar katı modu destekler.
S # 14) Kendi Kendini Çağıran İşlevler nelerdir?
Cevap: Ayrıca 'Anında Çağrılan İşlev İfadeleri' veya 'Kendi Kendini Yürüten Anonim İşlevler' olarak da bilinir. Bu işlevler kodda otomatik olarak çağrılır, dolayısıyla 'Kendini Çağıran İşlevler' olarak adlandırılırlar.
Genellikle bir işlevi tanımlar ve onu çağırırız, ancak bir işlevi açıklandığı yerde otomatik olarak yürütmek istiyorsak ve onu tekrar çağırmayacaksak, anonim işlevleri kullanabiliriz. Ve bu tür işlevlerin adı yoktur.
S # 15) 'Kendi Kendini Çağıran İşlevi' nin sözdizimi nedir? Örnek vermek?
Cevap:
Kendini Çağıran işlevin sözdizimi:
(function () { return () } () ;Burada, sözdizimindeki son '()' parantez, bunun bir fonksiyon ifadesi olduğunu belirtir.
Kendi Kendine Çağırılan İşlevlere Örnek:
Sample: Software Testing Help
Example for Self-Invoking
(function (){ elem = document.getElementById('dispaly_num'); elem.innerHTML = 'This function has no name.
It is called automatically'; }()); Burada, anonim işlev, kod parçacığında otomatik olarak çağrılır.
İşlev, metin özelliğini ayarlamak için kullanılır.
Kimlik olarak 'görüntü_sayısı' olan etiket.
Kod pasajının çıktısı:
Bu işlevin adı yoktur.
Otomatik olarak çağrılır
S # 16) Aşağıdaki kod parçacığında, lütfen çıktıyı tahmin edebilir misiniz veya bir hata alırsanız; lütfen hatayı açıklayınız?
Cevap:
Sample : Software Testing Help
Example for JavaScript Hoisting
first_num = 100; // Assign value 100 to num elem = document.getElementById('dispaly_num'); elem.innerHTML = ' Here the variable first_num: '+first_num +' is taken to the top
' + 'Since second variable is initialised the value is not taken to the top and it's value is ' + ''+second_num +' “; var first_num; // declaration only var second_num =200; // Initialised the variable Lütfen önceki Soru # 11'e bakın, orada açıklandığı gibi, yorumlayıcı ilklendirme dışında bildirilen tüm değişkenleri en üste alacaktır.
Buna göre, 'birinci_say' değişkeni en üste alınır ve 'ikinci_sayı' değişkeni bir değerle başlatılır, bu nedenle en üste alınmaz. Bu kod bir hata vermez. Ancak 'ikinci_sayı' nın değeri tanımsızdır.
Kod pasajının çıktısı:
Burada first_num: 100 değişkeni en üste alınır
İkinci değişken başlatıldığından, değer en üste alınmaz ve değeri tanımsızdır
S # 17) JavaScript kodunu eski tarayıcı sürümlerinden gizlemeniz gerekirse, bunu nasıl gerçekleştireceksiniz?
Cevap: Kod'da, etiketinden sonra '
android için en iyi mp3 indirme uygulaması
Bu, tarayıcının eski bir sürümü olması durumunda JavaScript kodunu yürütmesine izin vermez. Ayrıca, bitiş etiketinden sonra '// ->' HTML etiketi ekleyin.
Bu yöntem, uyumluluk sorunlarının ve UI sorunlarının bir ölçüde çözülmesine yardımcı olacaktır.
Sample: Software Testing Help
Burada, tarayıcının daha eski bir sürümünü kullanmadığım için tarayıcımda bir etiketten sonraki kod parçacığı yürütüldü.
Kod pasajının çıktısı:
Burada tarayıcının daha eski bir sürümünü kullanmıyorum.
Böylece kod tarayıcımda çalışacak
S # 18) Aşağıdaki kod parçacığında lütfen çıktıyı tahmin edebilir misiniz veya bir hata alırsanız, lütfen hatayı açıklayın?
Sample: Software Testing Help
Find the output
var first_num =500; var result= function(){ document.getElementById('display').innerHTML = first_num; var first_num =1000; } result(); Cevap: Burada yukarıda verilen kodda, 'birinci_say' değişkeninin değeri 1000 olmayacaktır.
JavaScript'te, değişken başlatma için kaldırma yoktur. 'Sonuç ()' işlevi, işlevin içinde bildirildiği gibi 'birinci_sayısı' yerel değişkenini seçecektir. Değişken kullanıldıktan sonra bildirildiğinden, 'birinci_sayının' değeri tanımsızdır.
Kod pasajının çıktısı:
Tanımsız
S # 19) 'Var' ve 'let' anahtar kelimesi arasındaki fark nedir?
Cevap: Farklılıklar aşağıdaki gibidir:
| Nerede | İzin Vermek |
|---|---|
| ’Var’ anahtar kelimesi, JavaScript kodunda Stage'in başından itibaren tanıtıldı. | 'Let' anahtar kelimesi yalnızca 2015 yılında kullanıma sunulmuştur. |
| 'Var' anahtar kelimesinin işlev kapsamı vardır. Var ile tanımlanan değişken, işlevin herhangi bir yerinde kullanılabilir | 'Let' anahtar kelimesiyle bildirilen bir değişkenin kapsamı yalnızca o blokta bulunur. Öyleyse, bir Blok Kapsamı olsun. |
| 'Var' ile bildirilen değişken kaldırılacak | Kaldırılsın 'let' ile bildirilen değişken |
S # 20) Aşağıdaki kod parçacığında lütfen çıktıyı tahmin edebilir misiniz veya bir hata alırsanız; lütfen hatayı açıklayınız?
Sample: Software Testing Help
Find the output
if(true){ var first_num =1000; let second_num=500; } document.getElementById('display_first').innerHTML = 'First Number:' + first_num; document.getElementById('display_second').innerHTML = 'Second Number:' + second_num; Cevap:
Kod pasajının çıktısı:
İlk Numara : 1000
Alacağız 'İlk Numara : 1000 ' çıktı olarak. Ayrıca bir 'Yakalanmamış Referans Hatası' hatası da var.
Kod parçacığında, 'ikinci_sayının' kapsamı yalnızca if () bloğunun içindedir. Bir geliştirici bloğun dışındaki değere erişmeye çalışırsa, bir 'Yakalanmamış Referans hatası' alır.
Yakalanmamış Referans Hatası: ikinci_say tanımlanmamış.
S # 21) '==' ve '===' arasındaki fark nedir?
Cevap: Hem '==' hem de '===' karşılaştırma operatörleridir.
| '==' operatörü | '===' operatörü |
|---|---|
| 'Tür Dönüştürme Operatörü' olarak bilinir | 'Katı Eşitlik Operatörü' olarak bilinir |
| Değeri karşılaştırır, türü karşılaştırmaz | Hem değeri hem de türü karşılaştırır. |
S # 22) 'let' ve 'sabit' arasındaki fark nedir?
Cevap: Farklılıklar aşağıdaki gibidir:
| İzin Vermek | sabit |
|---|---|
| 'let'i kullanarak değişkenin değerini istediğiniz kadar değiştirebiliriz | 'const' kullanarak, değerin ilk atamasından sonra değeri yeniden tanımlayamayız |
| Kodu düşünün { ilk_say = 1 olsun; birinci_say = 2; belge. yaz (birinci_sayı); } Burada kod bir çıktı verecektir, çünkü birinci_sayının değerindeki değişiklik mümkündür. | Kodu düşünün { const ikinci_say = 1; ikinci_say = 2; belge. yazma (ikinci_sayı); } Burada kod bir hata üretecektir, çünkü 'ikinci_sayı' ikinci bir değerle atanmıştır. |
S # 23) Aşağıdaki Kod parçacığında lütfen çıktıyı tahmin edebilir veya bir hata alırsanız; lütfen hatayı açıklayınız?
Sample: Software Testing Help
Example of 'Const' Keyword
let first_num =500; first_num=501; document.getElementById('display_first').innerHTML = 'First Number:'+ first_num ; const second_num =1000; second_num=1001; document.getElementById('display_second').innerHTML = 'Second Number :'+second_num; Cevap: Daha fazla okumadan önce lütfen Soru # 21'e bakın
Kod pasajının çıktısı:
İlk Numara: 501
Bir 'const' değişkeninin değerini değiştirmeye çalıştığımız için kodu çalıştırırken de bir hata alacağız.
Hata: Yakalanmamış TypeError: Sabit değişkene atama.
S # 24) 'boş' ve 'tanımsız' arasındaki fark nedir?
Cevap: Her iki anahtar kelime de boş değerleri temsil eder .
Farklılıklar:
- 'Tanımlanmamış' da bir değişken tanımlayacağız, ancak bu değişkene bir değer atamayacağız. Öte yandan, 'null' da bir değişken tanımlayacağız ve değişkene 'boş' değeri atayacağız.
- (tanımsız) türü ve (boş) nesnenin türü.
S # 25) 'İşlev bildirimi' ile 'işlev ifadesi' arasındaki fark nedir?
Cevap: Bir örnekle açıklanabilir:
Sample: Software Testing Help
Example Function Declaration
function add(first_num,second_num){ return first_num + second_num; } var substract = function sub(first_num,second_num){ return first_num - second_num; } var first_num=700; var second_num=300; document.getElementById('display_add').innerHTML = 'Sum of the number is:' + add(first_num,second_num); document.getElementById('display_sub').innerHTML = 'Difference of the number is:' + substract(first_num,second_num); Örnekte gösterildiği gibi, add () bir işlev bildirimi ve subtract () bir işlev ifadesidir. İşlev bildiriminin sözdizimi, bir değişkene kaydedilen bir işlev gibidir.
İşlev bildirimleri kaldırılır, ancak işlev ifadeleri kaldırılmaz.
S # 26) 'settimeout ()' nedir?
Cevap: Bir örnekle daha iyi açıklanacaktır.
Kod parçacığını düşünün
Console.log (‘First Line’); Console.log (‘Second Line’); Console.log (‘Third Line’); Kod pasajının çıktısı:
İlk satır
İkinci çizgi
Üçüncü Satır
Şimdi settimeout () yöntemini tanıtıyorsunuz ve aynı kod kümesini buna sarıyorsunuz.
Settimeout(function() { Console.log (‘First Line’); },0); Console.log (‘Second Line’); Console.log (‘Third Line’); Kod pasajının çıktısı:
İkinci çizgi
Üçüncü Satır
İlk satır
Settimeout () ile süreçler eşzamansız hale gelir. Yığına yerleştirilecek ilk ifadeler Console.log ('İkinci Satır') ve Console.log'dur ('Üçüncü Satır') ve ilk önce çalıştırılacaklar. Önce yığındaki her şey tamamlanana kadar beklemeniz gerekir.
'0' zaman aşımı süresi olsa da, hemen çalıştırılacağı anlamına gelmez.
S # 27) Kapatma nedir ve onu nasıl kullanıyorsunuz?
Cevap: Kapanış, içsel bir işlevdir. Bir fonksiyonun dış değişkenlerine erişebilir. Kapanışta, işlev_1 içinde, 'A' değerini döndüren ve işlev_1 de bir değer döndüren başka bir işlev_2 vardır; 'B' deyin.
Burada, sum () dış işlevdir ve add () bir iç işlevdir, 'birinci_sayı' 'ikinci_sayı' ve 'üçüncü_sayı' dahil tüm değişkenlere erişebilir. Dıştaki işlev, iç işlevi add () çağırıyor.
// To find the sum of two numbers using closure method function sum( first_num, second_num ) { var sumStr= 600; function add(first_num , second_num) { return (sumStr + (first_num + second_num)); } return add(); } document.write('Result is :'+ sum(150,350)); Kod pasajının çıktısı:
Sonuç: 500
S # 28) Aşağıdaki kod parçacığında lütfen çıktıyı tahmin edebilir misiniz veya bir hata alırsanız; lütfen hatayı açıklayınız?
Sample: Software Testing Help
Example Assignmnet Statement
var x =500; let y,z,p,q; q=200; if(true){ x=y=z=p=q; document.getElementById('display').innerHTML = 'x='+ x + '
y :'+ y +'
z :'+ z+'
p :'+ p+'
q :'+ q; } Cevap: Atama ifadeleri Sağdan sola doğru değerlendirilir.
Kod pasajının çıktısı:
x = 200
ve: 200
ile: 200
s: 200
q: 200
S # 29) Kod parçacığının test () ve exec () yöntemleri arasındaki farkı gösterdiği bir örnek verebilir misiniz?
Sample : Software Testing Help
Example for exec() methods
Click the button to search for a pattern 'How“ in the given string 'Hello. Good Morning. How do you feel today?'
If the 'How' is found, the method will return the pattern
Search function searchTxt() { var str = 'Hello. Good Morning. How do you feel today?'; var search_patt = new RegExp('How'); var res = search_patt.exec(str); document.getElementById('result').innerHTML ='Found the pattern :'+ res; } Cevap: Bu, test () ve exec () yönteminin bir örneğidir, daha fazla ayrıntı için Sorgu No: 5'e bakın.
Kod pasajının çıktısı:
Exec () kullanarak kalıbı buldum: Nasıl
Test () kullanıldığında sonuç: true
S # 30) JavaScript Kaldırma işlemini gösteren bir örnek verebilir misiniz?
Cevap:
Sample: Software Testing Help
Example for JavaScript Hoisting
num = 100; // Assign value 100 to num elem = document.getElementById('dispaly_num'); elem.innerHTML = 'Here the variables are used before declaring it.' + '
The value of the variable is ' + num; var num; // Declare the varaible Daha fazla ayrıntı için lütfen Soru # 11'e bakın.
Burada 'num' değişkeni, onu bildirmeden önce kullanılır. Ancak JavaScript Kaldırma buna izin verecektir.
Kod pasajının çıktısı:
Burada değişkenler tanımlanmadan önce kullanılır.
Değişkenin değeri 100'dür
S # 31) JavaScript kodunda 'hata ayıklayıcı' anahtar kelimesinin kullanımını gösteren bir örnek verebilir misiniz?
Cevap:
Sample: Software Testing Help
Example for debug keyword
Here to test the code, debugger must be enabled for the browser,
during debugging the code below should stop executing before it goes to the next line.
var a = 1000; var b = 500; var sum = a + b; document.getElementById('wait_result').innerHTML = 'Adding numbers......
Select 'Resume Script execution' to continue: '; debugger; document.getElementById('show_result').innerHTML = 'Sum of the numbers : '+sum; Not: Tarayıcının kodu test etmesi için hata ayıklayıcının etkinleştirilmesi gerekir. Daha fazla ayrıntı için Soru No: 5'e bakın
Bu, hata ayıklama anahtar kelimesine bir örnektir (Kullanılan tarayıcı: Chrome)
Kod pasajının çıktısı:
Burada kodu test etmek için, hata ayıklayıcı tarayıcı için etkinleştirilmelidir,
hata ayıklama sırasında aşağıdaki kod bir sonraki satıra geçmeden önce çalıştırmayı durdurmalıdır.
Numaralar ekleniyor…
Devam etmek için 'Komut Dosyası yürütmeye devam et' i seçin:
Sayıların toplamı: 1500
S # 32) Aşağıdaki kod parçacığında lütfen çıktıyı tahmin edebilir misiniz veya bir hata alırsanız; lütfen hatayı açıklayınız?
Sample: Software Testing Help
Example Type Converting
var first_num =500; var first_name='500'; if(first_num == first_name){ document.getElementById('display').innerHTML = 'Comparison will return 'true' by Type converting Operator '; } Cevap: Kodu düşünün
If (‘100’==100) { document. write (“It’s a Type Converting Operator”); } Here typeof(‘100’) is string typeof(100) is number the ‘==’ operator will convert the number type, which is on the right side of the operator to string and compare both values Kod pasajının çıktısı:
Karşılaştırma, Tür dönüştürme Operatörüne göre 'doğru' olarak döndürür
S # 33) Java ve JavaScript benzer mi? Değilse, Java ve JavaScript arasındaki fark nedir?
Cevap:
| Sl. Yok hayır | Java | JavaScript |
|---|---|---|
| bir | Java, genel amaçlı bir programlama dilidir. | JavaScript, yüksek seviyeli, yorumlanmış bir kodlama dilidir. |
| iki | Java, Nesne Tabanlı Programlama (OOPS) kavramlarına dayanmaktadır. | JavaScript hem nesne yönelimli hem de işlevsel bir betiktir. |
| 3 | Java Sanal Makinesi (JVM) veya tarayıcıda çalışır. | Yalnızca bir tarayıcıda çalışır. |
| 4 | Java kodunun Java sınıfı dosyası olarak derlenmesi gerekir. | JavaScript'in derleme adımı yoktur. Bunun yerine, tarayıcıdaki bir yorumlayıcı JavaScript kodunu okur, her satırı yorumlar ve çalıştırır. |
Kısacası, bu diller hiçbir şekilde birbirine bağlı veya birbirine bağlı değildir.
S # 34) JavaScript hangi veri türlerini desteklemektedir?
Cevap: JavaScript aşağıdakileri destekler Yedi ilkel veri türleri ve Nesne :
(i) Boole: Bu, yalnızca iki değere sahip olabilen mantıksal bir veri türüdür, yani doğru veya yanlış. Typeof operatörünü kullanarak 'true' veya 'false' veri türünü kontrol ettiğimizde, bir boole değeri döndürür.
Örneğin, typeof (true) // boole değerini döndürür
Boole değerleri, iki değişkeni karşılaştırmak için kullanılabilir.
Örneğin,
var x = 2; var y = 3; x==y //returns false Boole değeri, bir koşulu kontrol etmek için de kullanılabilir
Örneğin,
var x = 2; var y = 3; If(xYukarıdaki koşul 'x Boolean () işlevi kullanılarak bir boole değişkeni oluşturulabilir.
var myvar = ‘Hi'; Boolean(myvar); // This returns true because the 'myvar' value exists Ayrıca Boolean nesnesi new operatörü kullanılarak aşağıdaki gibi oluşturulabilir:
var myobj = new Boolean(true); (Ii) Boş :Bu, yalnızca tek bir değerle, 'boş' nun kendisi ile temsil edilen bir veri türüdür. Boş değer, değer olmadığı anlamına gelir.
Örneğin,
var x = null; console.log(x);// This returns null Typeof operatörünü kullanarak a'nın veri türünü kontrol edersek, şunu elde ederiz:
typeof(x); // This returns object. type of a null value is an object, not null. (iii) Tanımsız: Bu veri türü, tanımlanmamış bir değişken anlamına gelir. Değişken bildirildi ancak herhangi bir değer içermiyor.
Örneğin,
var x; console.log(x); // This returns undefined x=10;//Assign value to x console.log(x); // This returns 10 'A' değişkeni bildirildi ancak henüz bir değer atanmadı.
A'ya bir değer atayabiliriz:
(iv) Numara: Bu veri türü bir kayan nokta değeri, bir tam sayı, bir üstel değer, bir 'NaN' veya bir 'Sonsuzluk' olabilir.
Örneğin,
var x=10; // This is an integer value var y=10.5; // decimal value var c = 10e5 // an exponential value ‘xyz’ * 10; //This returns NaN 10/0; // This returns infinity Numara değişmezi Number () işlevi kullanılarak oluşturulabilir:
var x = Number(10); console.log(x);// This returns 10 Ayrıca sayı nesnesi, 'yeni' operatörü kullanılarak aşağıdaki gibi oluşturulabilir:
var x= new Number(10); console.log(x); // This returns 10 (v) BigInt: Bu, tam sayıları rastgele bir hassasiyetle temsil edebilen sayısal bir ilkeldir. BigInt, bir tamsayının sonuna n eklenerek oluşturulur
Örneğin,
const x = 15n; Sayı, BigInt (sayı) işlevi ile bir BigInt'e dönüştürülebilir.
const x = 251; const y = BigInt(x); y === 251n // returns true (vi) Dize: Bu veri türü, metin verilerini temsil etmek için kullanılır.
Örneğin,
var strVar1 = “Hi,how are you?”; var strVar2 = ‘Hi,how are you?’; Aşağıdaki gibi String () işlevi kullanılarak yeni dize de oluşturulabilir:
var strVar3 = String(‘Hi,how are you?’); // This creates a string literal with value ‘Hi,how are you?’ String () işlevi, dize olmayan bir değeri dizeye dönüştürmek için de kullanılır.
String(150); // This statement will create a string ‘150’Dize ayrıca kullanılarak da oluşturulabilir 'yeni' Şebeke
var strVar4 = new String(“Hi,how are you?”); // This is a string object console.log(strVar4); // This will return the string ‘Hi,how are you?’ JavaScript dizeleri değişmezdir, yani bir dize oluşturulduktan sonra değiştirilemez. Ancak, orijinal dizede bir işlem kullanılarak başka bir dizge oluşturulabilir.
Örneğin,
- Birleştirme operatörünü (+) kullanarak iki dizeyi birleştirerek veya String.concat () .
- Kullanarak alt dizeyi alarak String.substr () .
(vii) Sembol: Bu, benzersiz ve değişmez bir ilkel değerdir ve Object özelliğinin anahtarı olarak kullanılır. Semboller, ECMAScript 2015'teki JavaScript'te yenidir
KİME Sembol değer, benzersiz bir tanımlayıcıyı temsil eder.
Örneğin,
var symVar1 = Symbol('Symbol1'); let symVar2 = Symbol('Symbol1'); console.log(symVar1 === symVar2); // This returns 'false'. Bu nedenle, birçok sembol aynı açıklamayla, ancak farklı değerlerle oluşturulur.
Semboller otomatik olarak dönüştürülemez.
Örneğin,
var symVar1 = Symbol('Symbol1'); alert(symVar1); // This gives TypeError: Cannot convert a Symbol value to a string Bu kullanılarak çalışılabilir toString () aşağıdaki gibi:
alert(symVar1.toString()); // Symbol(symVar1), this works Nesne veri türü
Bir nesne, bir tanımlayıcı tarafından referans verilen bellekteki bir değerdir.
Nesne, verilere ve verilerle çalışmak için talimatlara sahip bir veri yapısını ifade eder. Nesneler bazen gerçek dünyadaki şeylere atıfta bulunur, Örneğin, bir çalışan veya bir araba.
Örneğin,
JavaScript nesnelerinde değerler şu şekilde yazılır: isim: değer aşağıdaki gibi çiftler:
var car1 = {type:'BMW', model:” The BMW X5“, color:'white'}; An object definition can span multiple lines as follows: var car1 = { type:'BMW', model: 'The BMW X5', color:'white' }; ad: değerler çiftler denir özellikleri . Örneğin, 'Tür' mülktür ve 'BMW' mülkün değeridir.
Özellik değerlerine objectName.propertyName kullanılarak erişilir
veya objectName (“propertyName”)
Örneğin, car1.type veya car1 ('type'), 'BMW' değerini döndürür
Araba1 nesnesinin değeri aşağıdaki şekilde değiştirilebilir:
car1.type = “Audi”;Şimdi,
console.log(car1) ;//This will return {type:'Audi', model:” The BMW X5“ , color:'white'}; S # 35) JavaScript, büyük / küçük harfe duyarlı bir dil midir?
Cevap: Evet, JavaScript büyük / küçük harfe duyarlı bir dildir. Bunun anlamı, her zaman tutarlı büyük veya küçük harflerle yazılması gereken dil, değişkenler, işlev adları ve diğer tanımlayıcıların anahtar sözcükleridir.
Örneğin, myVar, myvar'dan farklı bir değişkendir.
S # 36) Bir işlenenin ait olduğu veri türü nasıl belirlenir?
Cevap: Operand veri türü typeof operatörü kullanılarak bulunabilir
İşlenenin türünü gösteren bir dize döndürür.
Sözdizimi : typeof işlenen
typeof (işlenen)
İşlenen herhangi bir değişken, nesne veya işlev olabilir.
Örneğin,
console.log (typeof 10);// expected output: 'number' console.log (typeof 'hello');// expected output: 'string' console.log (typeof);//expected output: //'undefined'; S # 37) JavaScript neden gevşek yazılmış veya dinamik bir dil olarak adlandırılıyor?
Cevap: JavaScript, genel olarak yazılmış veya dinamik bir dil olarak adlandırılır çünkü JavaScript değişkenleri herhangi bir değer türüyle doğrudan ilişkilendirilmez ve herhangi bir değişken atanabilir ve tüm türlerin değerleri yeniden atanabilir:
Örneğin,
var myvar = ‘abc’; // myvar is string myvar =true; // myvar is now a boolean myvar = 10; // myvar is now a number S # 38) JavaScript'te null nedir?
Cevap: Null değeri, herhangi bir nesne değerinin kasıtlı yokluğunu temsil eder.
Bu, JavaScript’in ilkel değerlerinden biridir.
Örneğin,
Var myvar = null; console.log(myvar); //This will print null S # 39) NaN nedir?
Cevap: NaN Bir Sayı Değil'i temsil eden global nesnenin bir özelliğidir.
Örneğin,
function checkValue(x) { if (isNaN(x)) { return NaN; } return x; } console.log(checkValue ('5')); //expected output: '5' console.log(checkValue (‘Any value’)); //expected output: NaN S # 40) Bir dizge dizi öğelerine nasıl bölünür?
Cevap: Bir dize, JavaScript split () yöntemi kullanılarak bir diziye bölünebilir. Bu yöntem, dizeyi ayırmak istediğiniz karakter olan tek bir parametreyi alır ve ayırıcı arasındaki alt dizeleri bir dizideki öğeler olarak döndürür.
Örneğin,
myDaysString = ''Sunday,Monday,Tuesday,Wednesday”; String can be split at comma as below: myDaysArray= myDaysString.split(','); console.log(myDaysArray(0)); //output is the first item in the array i.e. Sunday console.log (myDaysArray(myDaysArray.length-1)); //output is the last //item in the array i.e. Wednesday S # 41) Dizi öğeleri bir dizeye nasıl birleştirilir?
Cevap: Dizi öğeleri join () yöntemi kullanılarak birleştirilebilir.
Örneğin,
var myDaysArray= ('Sunday','Monday','Tuesday',”Wednesday”); Dizi öğeleri aşağıdaki gibi bir dizeye birleştirilir:
myDaysString= myDaysArray.join(','); console.log(myDaysString);//output is joined string i.e.//Sunday,Monday,Tuesday,Wednesday S # 42) JavaScript'te ne tür hatalar vardır?
Cevap: Aşağıda 2 tür hata bulunmaktadır:
- Sözdizimi hataları: Bunlar, programın hiç çalışmamasına veya yarı yolda durmasına neden olan koddaki yazım hatalarıdır. Genellikle hata mesajları da verilir.
- Mantık hataları: Bunlar, sözdizimi doğru olduğunda hatalardır, ancak mantık veya kod yanlıştır. Burada program hatasız başarılı bir şekilde çalışır. Ancak çıktı sonuçları yanlış. Bu programlar mantık hataları için herhangi bir hata mesajı vermediğinden, bunları düzeltmek genellikle sözdizimi hatalarından daha zordur.
S # 43) Etkili bir durumda bir koşul için çok sayıda seçenek nasıl ele alınır? yol?
Cevap: Bu, anahtar ifadeleri kullanılarak yapılır:
Örneğin,
switch (expression) { case choice1: code to be run break; case choice2: code to be run break; : : default: code to run if there is no case match } S # 44) Üçlü operatör nedir?
Cevap: Üçlü veya koşullu, doğru veya yanlış testi temel alan iki seçenek arasında hızlı bir seçim yapmak için kullanılan bir operatördür.
Bu, bir doğru / yanlış koşulu arasında seçilen iki seçeneğe sahip olduğunda, yedek bir forif… else bloğu olarak kullanılabilir.
Örneğin,
if (some condition) result = ‘result 1’; else result = ‘result 2’; Aynı kod, aşağıdaki gibi tek bir ifadede üçlü bir operatör kullanılarak yazılabilir:
sonuç = (koşul)? 'sonuç 1': 'sonuç 2';
S # 45) Diyelim ki, kişi denen bir nesne var
const person = {
isim: {
ilk: 'Bob',
last: 'Smith'
}
};
Aşağıdakilerden hangisi 'ilk' nesne özelliğine erişmenin doğru yoludur?
- person.name.first,veya
- kişi (‘ad’) (‘birinci’)?
Cevap: Her ikisi de doğru yollardır. ör. person.name.first gibi noktalar kullanma veya person (‘ad’) (‘first’) gibi köşeli parantez gösterimi kullanma
S # 46) 'Bu' nedir?
Cevap: 'This' anahtar sözcüğü, kodun içine yazıldığı geçerli nesneyi ifade eder.
Bu, bir üyenin bağlamı değiştiğinde doğru değerlerin kullanılmasını sağlamak içindir.
Örneğin, iki farklı örnek vardır: kişi farklı adlara sahip olmak ve aşağıdaki gibi uyarıda kendi adlarını yazdırmak gerekir:
const person1 = { name: 'Tom', greeting: function() { alert('Good Morning! I am ' + this.name + '.'); } } Burada çıktı Günaydın! Ben tom'
const person2 = { name: 'Jerry', greeting: function() { alert('Good Morning! I am ' + this.name + '.'); } }Burada çıktı Günaydın! Ben 'Jerry'
S # 47) Anonim işlevler nelerdir?
Cevap: Anonim işlevler, herhangi bir adı olmayan işlevlerdir ve kendi başlarına hiçbir şey yapmazlar. Bunlar genellikle bir olay işleyiciyle birlikte kullanılır.
Örneğin, aşağıdaki kodda, anonim işlev kodu, yani uyarı ('Merhaba'); ilişkili düğme tıklandığında çalışır:
var myButton = document.querySelector('button'); myButton.onclick = function() { alert('Hi'); } Anonim işlev, bir değişkenin değerine de atanabilir.
Örneğin,
var myVar = function() { alert('Hi'); } Bu işlev şu şekilde çağrılabilir:
myVar();Sonuç
JavaScript Kodlarını, CSS'yi ve HTML'yi ayrı Harici 'js' dosyaları olarak depolamak daha iyidir. Kodlama kısmını ve HTML kısmını ayırmak, okumayı ve onlarla çalışmayı kolaylaştıracaktır. Birden çok geliştirici, bu yöntemi aynı anda çalışmayı daha kolay bulmaktadır.
JavaScript Kodunun bakımı kolaydır. Aynı JavaScript Kodları seti birden çok sayfada kullanılabilir. Harici JavaScript kodları kullanırsak ve kodu değiştirmemiz gerekirse, o zaman tek bir yerde değiştirmemiz gerekir. Böylece kodu yeniden kullanabilir ve çok daha kolay bir şekilde bakımını yapabiliriz.
Önerilen okuma = >> TypeScript ve JavaScript
JavaScript Kodunun performansı daha iyidir. Harici JavaScript dosyaları, tarayıcı tarafından önbelleğe alınacakları için sayfa yükleme hızını artıracaktır.
Umarım JavaScript Mülakat Soruları ve Cevaplarını faydalı bulmuşsunuzdur. Mümkün olduğunca çok soru alıştırma yapın ve kendinizden emin olun.
Önerilen Kaynaklar
- Mülakat Soruları ve Cevapları
- En İyi 32 Datastage Röportaj Soruları ve Cevapları
- ETL Test Mülakat Soruları ve Cevapları
- En İyi 20+ .NET Mülakat Soruları ve Cevapları
- Bazı Zor Manuel Test Soruları ve Cevapları
- 25 En İyi Çevik Test Mülakat Soruları ve Cevapları
- Spock Mülakat Soruları ve Cevapları (En Popüler)
- Bazı İlginç Yazılım Testi Görüşme Soruları