top 45 javascript interview questions with detailed answers
Nejčastěji kladené základní a pokročilé dotazy k rozhovoru s JavaScriptem s podrobnými odpověďmi pro každého vývojáře JavaScriptu.
Pokud se připravujete na pohovor, zde jsou nejčastěji kladené otázky a odpovědi na JS Interview.
Navrhli jsme totéž, abychom vás seznámili s otázkami, s nimiž se pravděpodobně můžete setkat během technického pohovoru.
Pojďme prozkoumat !!
O JavaScriptu
JavaScript je programovací jazyk na vysoké úrovni, pravděpodobně jeden z nejpoužívanějších programovacích jazyků na světě právě teď. Může být použit k programování webových prohlížečů nebo dokonce serverů.
Chcete-li pochopit důležitost JavaScriptu, deaktivujte ve svém prohlížeči JavaScript a zkuste do něj načíst webovou stránku. Tyto webové stránky nebudou fungovat správně. Mnoho obsahu v nich se může chovat špatně. Téměř všechny moderní prohlížeče používají kombinaci JavaScriptu, CSS a HTML.
JavaScript je interpretovaný programovací jazyk. Tlumočník je zabudován do prohlížečů, jako je Google Chrome, Microsoft Internet Explorer atd. Jeho kód lze tedy zpracovat pomocí JavaScriptu prohlížeče.
JavaScript se objevil v prosinci 1995 a původně se nazýval LiveScript, ačkoli název byl brzy změněn z marketingových důvodů. Nemělo by být zaměňováno s výrazem „Java“, který se také trochu podobá, ale je to úplně jiný jazyk.
Nejčastější dotazy týkající se rozhovoru s JavaScriptem
Otázka č. 1) Co je JavaScript?
Odpovědět: JavaScript je skriptovací jazyk vyvinutý společností Netscape. Může být použit k programování webových prohlížečů nebo dokonce serverů. Může dynamicky aktualizovat obsah webové stránky, což je krása tohoto jazyka.
Otázka 2) Jaké jsou výhody používání externího JavaScriptu?
Odpovědět: Použití externího JavaScriptu v našem kódu má mnoho výhod.
Ty jsou uvedeny níže.
- Oddělení kódu je hotové.
- Udržovatelnost kódu je snadná.
- Výkon je lepší.
Otázka č. 3) V následujícím fragmentu kódu můžete předpovědět výstup nebo Pokud se zobrazí chyba, vysvětlete prosím chybu?
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;
Answ je r : Tento kód nebude produkovat žádné chyby. Redeklace proměnných je povolena v JavaScriptu. Z tohoto důvodu nebude hodnota proměnné po provedení příkazu zde ztracena.
Otázka č. 4) V následujícím fragmentu kódu můžete předpovědět výstup nebo Pokud se zobrazí chyba; prosím vysvětlete chybu?
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 ;
Odpovědět: Tento kód nebude zobrazovat žádné chyby!
Výstup fragmentu kódu:
První proměnná suma je: 70 Sajeesh Sreeni
Druhá proměnná částka je: Sajeesh Sreeni 5020
Otázka č. 5) Jaký je rozdíl mezi metodami test () a exec ()?
nejlepší program pro stahování videí z YouTube
Odpovědět: Test () i exec () jsou RegExp výrazové metody.
Použitím a test () , prohledáme řetězec pro daný vzor, pokud najde odpovídající text, vrátí booleovskou hodnotu „true“, jinak vrátí „false“.
Ale v exec () , budeme hledat řetězec pro daný vzor, pokud najde odpovídající text, vrátí samotný vzor nebo jinak vrátí hodnotu „null“.
Otázka č. 6) Jaké jsou výhody JavaScriptu?
Odpovědět: Tento skriptovací jazyk má mnoho výhod, jak je uvedeno níže.
- Lehká váha: Je snadné jej implementovat. Má malé paměťové stopy.
- Interpretováno: Je to tlumočený jazyk. Pokyny se provádějí přímo.
- Objektově orientovaný: Je to objektově orientovaný jazyk.
- Prvotřídní funkce: V JavaScriptu lze funkci použít jako hodnotu.
- Skriptovací jazyk: Je to jazyk, ve kterém jsou pokyny psány pro běhové prostředí.
Otázka č. 7) V následujícím fragmentu kódu můžete předpovědět výstup nebo Pokud se zobrazí chyba; prosím vysvětlete chybu?
Sample: Software Testing Help
Example Const Variable
const first_num; first_num =1000; document.getElementById('display').innerHTML = 'First Number:'+ first_num;
Odpovědět: Proměnná „const“ „first_num“ není inicializována hodnotou, takže kód způsobí syntaktickou chybu.
Výstup fragmentu kódu:
Chyba: Uncaught SyntaxError: Missing initializer in the const declaration
Otázka č. 8) Použili jste k ladění nějaký prohlížeč? Pokud ano, jak se to dělá?
Odpovědět: Stisknutím klávesy „F12“ na klávesnici můžeme povolit ladění v prohlížeči. Chcete-li zobrazit výsledky, vyberte kartu „Konzola“.
V konzole můžeme nastavit zarážky a zobrazit hodnotu v proměnných. Všechny moderní prohlížeče mají integrovaný debugger (Například: Chrome, Firefox, Opera a Safari ) . Tuto funkci lze zapnout a vypnout.
Otázka č. 9) Jaké je použití klíčového slova „debugger“ v kódu JavaScript?
Odpovědět: Použití klíčového slova „debugger“ v kódu je jako použití zarážek v debuggeru.
K otestování kódu musí být pro prohlížeč povolen ladicí program. Pokud je pro prohlížeč zakázáno ladění, kód nebude fungovat. Během ladění kódu by se zbývající část měla zastavit před spuštěním na další řádek.
Otázka č. 10) Jaké jsou odlišné typy hodnot chybových jmen?
Odpovědět: Ve vlastnosti „Název chyby“ je 6 typů hodnot.
Chyba | Popis |
---|---|
Chyba rozsahu | Tuto chybu dostaneme, pokud použijeme číslo mimo rozsah |
Chyba syntaxe | Tato chyba vznikne, když použijeme nesprávnou syntaxi. (Viz Dotazy č. 7) |
Referenční chyba | Tato chyba je vyvolána, pokud je použita nedeklarovaná proměnná. Viz Dotazy č. 19 |
Eval Error | Vyvoláno kvůli chybě v eval (). Nová verze JavaScriptu tuto chybu neobsahuje |
Chyba typu | Hodnota je mimo rozsah použitých typů. Viz Dotazy č. 22 |
Chyba URI | Z důvodu použití nelegálních znaků. |
Otázka č. 11) Co je to JavaScript Hoisting?
Odpovědět: Při použití metody „Zvedání JavaScriptu“, když tlumočník spustí kód, jsou všechny proměnné zvednuty na začátek původního / aktuálního oboru. Pokud máte proměnnou deklarovanou kdekoli uvnitř kódu, je přenesena na začátek.
Tato metoda je použitelná pouze pro deklaraci proměnné a není použitelná pro inicializaci proměnné. Funkce jsou také zvednuty nahoru, zatímco vysvětlení funkcí nejsou zvednuta nahoru.
V zásadě nezáleží na tom, kde jsme proměnnou uvnitř kódu deklarovali.
Otázka č. 12) Co je to „přísný režim“ JavaScriptu?
Odpovědět: „Přísný režim“ je omezená varianta JavaScriptu. Tento jazyk obvykle není „příliš přísný“ v házení chyb. V „přísném režimu“ však vyvolá všechny typy chyb, dokonce i tiché chyby. Proces ladění se tak stává snazším. A šance na chybu pro vývojáře jsou sníženy.
Otázka č. 13) Jaké jsou vlastnosti přísného režimu JavaScriptu?
Odpověď: Níže jsou uvedeny vlastnosti „přísného režimu“:
- „Přísný režim“ zastaví vývojáře ve vytváření globálních proměnných.
- Vývojáři mají zakázáno používat duplicitní parametry.
- Přísný režim vám znemožní používat klíčové slovo JavaScript jako název proměnné nebo název funkce.
- Přísný režim je deklarován klíčovým slovem „use strict“ na začátku skriptu.
- Všechny prohlížeče podporují přísný režim.
Otázka č. 14) Co jsou funkce s vlastním vyvoláním?
Odpovědět: Jsou také známé jako „Okamžitě vyvolané funkční výrazy“ nebo „Samovykonávající anonymní funkce“. Tyto funkce jsou v kódu vyvolány automaticky, proto jsou pojmenovány jako „Self Invoking Functions“.
Obvykle definujeme funkci a vyvoláme ji, ale pokud chceme funkci provést automaticky tam, kde je vysvětlena, a pokud ji nebudeme volat znovu, můžeme použít anonymní funkce. A tyto typy funkcí nemají žádný název.
Otázka č. 15) Jaká je syntaxe funkce „Self Invoking Function“? Uveďte příklad?
Odpovědět:
Syntaxe funkce Self-Invoking:
(function () { return () } () ;
Zde poslední závorka „()“ v syntaxi uvádí, že se jedná o výraz funkce.
Příklad samostatně vyvolaných funkcí:
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'; }());
Zde je anonymní funkce automaticky vyvolána ve fragmentu kódu.
Funkce se používá k nastavení textové vlastnosti
značka s ‘display_num’ jako Id.
Výstup fragmentu kódu:
Tato funkce nemá název.
Volá se automaticky
Otázka č. 16) V následujícím fragmentu kódu můžete předpovědět výstup nebo Pokud se zobrazí chyba; prosím vysvětlete chybu?
Odpovědět:
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
Přečtěte si předchozí Q # 11, jak je vysvětleno tam, tlumočník vezme všechny deklarované proměnné kromě inicializace nahoru.
Podle toho se proměnná ‘first_num’ vezme nahoru a proměnná ‘second_num’ se inicializuje s hodnotou, takže se nedostane nahoru. Tento kód nevyvolá chybu. Hodnota „second_num“ však není definována.
Výstup fragmentu kódu:
Zde se proměnná first_num: 100 převezme nahoru
Jelikož je druhá proměnná inicializována, hodnota není převzata nahoru a její hodnota není definována
Otázka č. 17) Pokud potřebujete skrýt kód JavaScriptu ze starších verzí prohlížeče, jak jej provedete?
Odpovědět: V kódu za značku přidejte „
To neumožňuje prohlížeči spustit kód JavaScriptu, pokud se jednalo o jeho starší verzi. Za koncovou značku také přidejte značku HTML „// ->“.
Tato metoda pomůže do jisté míry vyřešit problémy s kompatibilitou a problémy s uživatelským rozhraním.
Sample: Software Testing Help
Tady je fragment kódu po spuštění značky v mém prohlížeči, protože nepoužívám starší verzi prohlížeče.
Výstup fragmentu kódu:
Tady nepoužívám starší verzi prohlížeče.
Takže kód bude fungovat v mém prohlížeči
Otázka č. 18) V následujícím fragmentu kódu můžete předpovědět výstup nebo Pokud se zobrazí chyba, vysvětlete prosím chybu?
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();
Odpovědět: Zde v kódu uvedeném výše nebude hodnota proměnné „first_num“ 1 000.
V JavaScriptu neexistuje žádné zvedání pro inicializaci proměnné. Funkce ‚result () 'zvolí místní proměnnou‘ first_num ‘, jak je deklarována uvnitř funkce. Protože je proměnná deklarována po jejím použití, hodnota „first_num“ není definována.
Výstup fragmentu kódu:
Nedefinováno
Otázka č. 19) Jaký je rozdíl mezi klíčovým slovem „var“ a „let“?
Odpověď: Rozdíly jsou následující:
Kde | nechat |
---|---|
Klíčové slovo „var“ bylo zavedeno do kódu JavaScript od samého začátku fáze. | Klíčové slovo „let“ je zavedeno až v roce 2015. |
Klíčové slovo „Var“ má rozsah funkcí. Proměnná definovaná pomocí var je k dispozici kdekoli v rámci funkce | Proměnná deklarovaná klíčovým slovem „let“ má obor pouze v tomto bloku. Pojďme tedy mít Blokový obor. |
Proměnná deklarovaná pomocí „var“ se zvedne | Proměnná deklarovaná s „let“ být zvednuta |
Otázka č. 20) V následujícím fragmentu kódu můžete předpovědět výstup nebo Pokud se zobrazí chyba; prosím vysvětlete chybu?
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;
Odpovědět:
Výstup fragmentu kódu:
První Číslo: 1000
Dostaneme 'První Číslo: 1000 ' jako výstup. Došlo také k chybě „Uncaught Reference Error“.
Ve fragmentu kódu je obor ‘second_num’ pouze v rámci bloku if (). Pokud se vývojář pokusí získat přístup k hodnotě mimo blok, zobrazí se „chyba Uncaught Reference“.
Uncaught Reference Error: second_num is not defined.
Otázka č. 21) Jaký je rozdíl mezi „==“ a „===“?
Odpovědět: „==“ a „===“ jsou operátory porovnání.
Operátor „==“ | Operátor „===“ |
---|---|
Je známý jako „operátor převodu typu“ | Je znám jako „operátor přísné rovnosti“ |
Porovnává hodnotu, neporovnává typ | Porovnává hodnotu i typ. |
Otázka č. 22) Jaký je rozdíl mezi „let“ a „const“?
Odpověď: Rozdíly jsou následující:
nechat | konst |
---|---|
pomocí „let“ můžeme hodnotu proměnné libovolněkrát změnit | pomocí „const“ nemůžeme po prvním přiřazení hodnoty hodnotu znovu předefinovat |
Zvažte kód { nechme first_num = 1; first_num = 2; dokument. write (first_num); } Zde kód poskytne výstup, protože je možná změna hodnoty first_num. | Zvažte kód { const second_num = 1; second_num = 2; dokument. write (druhé_číslo); } Zde bude kód produkovat chybu, protože ‚second_num 'je přiřazena druhá hodnota. |
Otázka č. 23) V následujícím fragmentu kódu můžete předpovědět výstup nebo Pokud se zobrazí chyba; prosím vysvětlete chybu?
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;
Odpovědět: Před dalším čtením si přečtěte Q # 21
Výstup fragmentu kódu:
První číslo: 501
Při spuštění kódu se nám také zobrazí chyba, protože se pokoušíme změnit hodnotu proměnné „const“.
Chyba: Uncaught TypeError: Přiřazení konstantní proměnné.
Otázka č. 24) Jaký je rozdíl mezi „null“ a „undefined“?
Odpovědět: Obě klíčová slova představují prázdné hodnoty .
Rozdíly jsou:
- V poli „undefined“ definujeme proměnnou, ale této proměnné nepřiřadíme hodnotu. Na druhou stranu v „null“ definujeme proměnnou a proměnné přiřadíme hodnotu „null“.
- typ (nedefinovaný) a typ (null) objektu.
Otázka č. 25) Jaký je rozdíl mezi „deklarací funkce“ a „výrazem funkce“?
Odpovědět: Lze to vysvětlit na příkladu:
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);
Jak je ukázáno v příkladu, add () je deklarace funkce a subtract () je výraz funkce. Syntaxe deklarace funkce je jako funkce, která je uložena do proměnné.
Deklarace funkcí jsou zvednuty, ale výrazy funkcí nejsou zvednuty.
Otázka č. 26) Co jsou ‚settimeout () '?
Odpovědět: Bude to lépe vysvětleno na příkladu.
Zvažte fragment kódu
Console.log (‘First Line’); Console.log (‘Second Line’); Console.log (‘Third Line’);
Výstup fragmentu kódu:
První řada
Druhý řádek
Třetí řádek
Nyní zavedete metodu settimeout () a zabalíte do ní stejnou sadu kódu.
Settimeout(function() { Console.log (‘First Line’); },0); Console.log (‘Second Line’); Console.log (‘Third Line’);
Výstup fragmentu kódu:
Druhý řádek
Třetí řádek
První řada
Se zavedením settimeout () se procesy stávají asynchronními. První příkazy, které se umístí do zásobníku, jsou Console.log („Druhý řádek“) a Console.log („Třetí řádek“) a budou provedeny jako první. Musíte počkat, dokud nebude vše v zásobníku dokončeno jako první.
I když „0“ je časový limit, neznamená to, že bude proveden hned.
Otázka č. 27) Co je to uzávěr a jak jej používáte?
Odpovědět: Uzávěr je vnitřní funkce. Může přistupovat k vnějším proměnným funkce. V závěru je v rámci funkce_1 další funkce_2, která vrací hodnotu „A“ a funkce_1 také vrací hodnotu; řekněte „B“.
Zde je sum () vnější funkce a add () je vnitřní funkce, má přístup ke všem proměnným, včetně ‚first_num‘ ‚second_num‘ a ‚third_num‘. Vnější funkce volá vnitřní funkci add ().
// 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));
Výstup fragmentu kódu:
Výsledek je: 500
Otázka č. 28) V následujícím fragmentu kódu můžete předpovědět výstup nebo Pokud se zobrazí chyba; prosím vysvětlete chybu?
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; }
Odpovědět: Příkazy přiřazení jsou považovány zprava doleva.
Výstup fragmentu kódu:
x = 200
a: 200
s: 200
p: 200
q: 200
Otázka č. 29) Můžete uvést příklad, kdy fragment kódu ukazuje rozdíl mezi metodami test () a exec ()?
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; }
Odpovědět: Toto je příklad metody test () a exec (), další podrobnosti naleznete v otázce č. 5.
Výstup fragmentu kódu:
Nalezen vzor pomocí exec (): How
Výsledkem testu () je: true
Otázka č. 30) Můžete uvést příklad znázorňující zvedání JavaScriptu?
Odpovědět:
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
Další podrobnosti najdete v Q # 11.
Zde se používá proměnná „num“ před jejím prohlášením. Zvedání JavaScriptu to však umožní.
Výstup fragmentu kódu:
Zde se používají proměnné před jejich deklarováním.
Hodnota proměnné je 100
Otázka č. 31) Můžete uvést příklad znázorňující použití klíčového slova „debugger“ v kódu JavaScript?
Odpovědět:
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;
Poznámka: Pro testování kódu musí být v prohlížeči povolen ladicí program. Další podrobnosti naleznete v otázce č. 5
Toto je příklad ladicího klíčového slova (použitý prohlížeč: Chrome)
Výstup fragmentu kódu:
Tady k otestování kódu musí být pro prohlížeč povolen debugger,
během ladění by se měl níže uvedený kód zastavit před spuštěním na další řádek.
Přidávání čísel…
Pokračujte výběrem možnosti „Obnovit spuštění skriptu“:
Součet čísel: 1500
Otázka č. 32) V následujícím fragmentu kódu můžete předpovědět výstup nebo Pokud se zobrazí chyba; prosím vysvětlete chybu?
Sample: Software Testing Help
Example Type Converting
jak je linux lepší než windows
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 '; }
Odpovědět: Zvažte kód
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
Výstup fragmentu kódu:
Porovnání vrátí operátor převádějícího typ „true“
Otázka č. 33) Jsou Java a JavaScript podobné? Pokud ne, jaký je rozdíl mezi Java a JavaScript?
Odpovědět:
Sl č | Jáva | JavaScript |
---|---|---|
1 | Java je univerzální programovací jazyk. | JavaScript je interpretovaný skriptovací jazyk na vysoké úrovni. |
dva | Java je založena na koncepcích objektově orientovaného programování (OOPS). | JavaScript je jak objektově orientovaný, tak funkční skriptování. |
3 | Spouští se v prostředí Java Virtual Machine (JVM) nebo v prohlížeči. | Běží pouze v prohlížeči. |
4 | Kód Java je třeba kompilovat jako soubor třídy Java. | JavaScript nemá žádný krok kompilace. Místo toho interpret v prohlížeči přečte kód JavaScriptu, interpretuje každý řádek a spustí jej. |
Stručně řečeno, tyto jazyky nejsou navzájem propojeny ani na sobě závislé.
Otázka č. 34) Které datové typy podporuje JavaScript?
Odpovědět: JavaScript podporuje následující Sedm datové typy primitiv a Objekt :
(i) Boolean: Toto je logický datový typ, který může mít pouze dvě hodnoty, tj. True nebo false. Když zkontrolujeme datový typ „true“ nebo „false“ pomocí operátoru typeof, vrátí logickou hodnotu.
Například, typeof (true) // vrací boolean
Logické hodnoty lze použít k porovnání dvou proměnných.
Například,
var x = 2; var y = 3; x==y //returns false
Logickou hodnotu lze také použít ke kontrole stavu
Například,
var x = 2; var y = 3; If(xPokud výše uvedená podmínka „x Boolovskou proměnnou lze vytvořit pomocí funkce Boolean ().
var myvar = ‘Hi'; Boolean(myvar); // This returns true because the 'myvar' value exists
Booleovský objekt lze také vytvořit pomocí nového operátoru následujícím způsobem:
var myobj = new Boolean(true);
(II) Null :Toto je datový typ, který je reprezentován pouze jednou hodnotou, samotnou ‚null '. Nulová hodnota znamená žádnou hodnotu.
Například,
var x = null; console.log(x);// This returns null
Pokud zkontrolujeme datový typ a pomocí operátoru typeof, dostaneme:
typeof(x); // This returns object. type of a null value is an object, not null.
(iii) Nedefinováno: Tento datový typ znamená proměnnou, která není definována. Proměnná je deklarována, ale neobsahuje žádnou hodnotu.
Například,
var x; console.log(x); // This returns undefined x=10;//Assign value to x console.log(x); // This returns 10
Proměnná „a“ byla deklarována, ale dosud jí nebyla přidělena hodnota.
Můžeme přiřadit hodnotu a:
(iv) Číslo: Tímto datovým typem může být hodnota s plovoucí desetinnou čárkou, celé číslo, exponenciální hodnota, „NaN“ nebo „Infinity“.
Například,
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
Číselný literál lze vytvořit pomocí funkce Number ():
var x = Number(10); console.log(x);// This returns 10
Objekt čísla lze také vytvořit pomocí operátoru „new“ následujícím způsobem:
var x= new Number(10); console.log(x); // This returns 10
(v) BigInt: Toto je numerický primitiv, který může reprezentovat celá čísla s libovolnou přesností. BigInt je vytvořen připojením n na konec celého čísla
Například,
const x = 15n;
Číslo lze převést na BigInt pomocí funkce BigInt (číslo).
const x = 251; const y = BigInt(x); y === 251n // returns true
(vi) Řetězec: Tento datový typ se používá k reprezentaci textových dat.
Například,
var strVar1 = “Hi,how are you?”; var strVar2 = ‘Hi,how are you?’;
Nový řetězec lze také vytvořit pomocí funkce String () takto:
var strVar3 = String(‘Hi,how are you?’); // This creates a string literal with value ‘Hi,how are you?’
Funkce String () se také používá k převodu neřetězcové hodnoty na řetězec.
String(150); // This statement will create a string ‘150’
Řetězec lze také vytvořit pomocí 'Nový' operátor
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?’
Řetězce JavaScriptu jsou neměnné, tj. Jakmile je řetězec vytvořen, nelze jej upravit. Ale jiný řetězec lze vytvořit pomocí operace s původním řetězcem.
Například,
- Zřetězením dvou řetězců pomocí operátoru zřetězení (+) nebo String.concat () .
- Získáním podřetězce pomocí String.substr () .
vii) Symbol: Toto je jedinečná a neměnná primitivní hodnota a používá se jako klíč Object vlastnosti. Symboly jsou pro JavaScript v ECMAScript 2015 nové
NA Symbol hodnota představuje jedinečný identifikátor.
Například,
var symVar1 = Symbol('Symbol1'); let symVar2 = Symbol('Symbol1'); console.log(symVar1 === symVar2); // This returns 'false'.
Mnoho symbolů je tedy vytvořeno se stejným popisem, ale s různými hodnotami.
Symboly nelze převádět automaticky.
Například,
var symVar1 = Symbol('Symbol1'); alert(symVar1); // This gives TypeError: Cannot convert a Symbol value to a string
To lze zpracovat pomocí toString () jak následuje:
alert(symVar1.toString()); // Symbol(symVar1), this works
Datový typ objektu
Objekt je hodnota v paměti, na kterou odkazuje identifikátor.
Objekt označuje datovou strukturu, která obsahuje data a pokyny pro práci s daty. Objekty někdy odkazují na skutečné věci, Například, zaměstnanec nebo auto.
Například,
V objektech JavaScript jsou hodnoty zapsány jako název: hodnota páry, jak je uvedeno níže:
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' };
The name: hodnoty jsou volány páry vlastnosti . Například, „Typ“ je vlastnost a „BMW“ je hodnota vlastnosti.
K hodnotám vlastností se přistupuje pomocí objectName.propertyName
nebo název objektu („název nemovitosti“)
Například, car1.type nebo car1 („type“), vrátí „BMW“
Hodnotu objektu car1 lze změnit následovně:
car1.type = “Audi”;
Nyní,
console.log(car1) ;//This will return {type:'Audi', model:” The BMW X5“ , color:'white'};
Otázka č. 35) Je v jazyce JavaScript rozlišována velká a malá písmena?
Odpovědět: Ano, JavaScript rozlišuje velká a malá písmena. To znamená klíčová slova jazyka, proměnné, názvy funkcí a jakékoli další identifikátory, které je nutné vždy psát konzistentními velkými nebo malými písmeny.
Například, myVar je jiná proměnná než myvar.
Otázka č. 36) Jak zjistit, k jakému datovému typu operand patří?
Odpovědět: Datový typ operandu lze najít pomocí operátoru typeof
Vrátí řetězec označující typ operandu.
Syntax : typ operandu
typ (operand)
Operand může být jakákoli proměnná, objekt nebo funkce.
Například,
console.log (typeof 10);// expected output: 'number' console.log (typeof 'hello');// expected output: 'string' console.log (typeof);//expected output: //'undefined';
Otázka č. 37) Proč se JavaScript nazývá jako volně psaný nebo dynamický jazyk?
nejlepší bezplatný software pro zrychlení počítače
Odpovědět: JavaScript se nazývá jako volně psaný nebo dynamický jazyk, protože proměnné JavaScriptu nejsou přímo spojeny s žádným typem hodnoty a libovolné proměnné lze přiřadit a znovu přiřadit hodnoty všech typů:
Například,
var myvar = ‘abc’; // myvar is string myvar =true; // myvar is now a boolean myvar = 10; // myvar is now a number
Otázka č. 38) Co je v JavaScriptu null?
Odpovědět: Hodnota null představuje záměrnou absenci jakékoli hodnoty objektu.
Toto je jedna z primitivních hodnot JavaScriptu.
Například,
Var myvar = null; console.log(myvar); //This will print null
Otázka č. 39) Co je NaN?
Odpověď: NaN je vlastnost globálního objektu představující Not-A-Number.
Například,
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
Otázka č. 40) Jak rozdělit řetězec na položky pole?
Odpovědět: Řetězec lze rozdělit do pole pomocí metody JavaScriptu split (). Tato metoda trvá jeden parametr, znak, na kterém chcete řetězec oddělit, a vrací podřetězce mezi oddělovačem jako položky v poli.
Například,
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
Otázka č. 41) Jak spojit položky pole do řetězce?
Odpovědět: Položky pole lze spojit pomocí metody join ().
Například,
var myDaysArray= ('Sunday','Monday','Tuesday',”Wednesday”);
Položky pole jsou spojeny do řetězce následujícím způsobem:
myDaysString= myDaysArray.join(','); console.log(myDaysString);//output is joined string i.e.//Sunday,Monday,Tuesday,Wednesday
Otázka č. 42) Jaký typ chyb má JavaScript?
Odpovědět: Následují 2 typy chyb:
- Chyby syntaxe: Jedná se o překlepy nebo chyby v pravopisu v kódu, které způsobí, že program nebude vůbec fungovat nebo přestane fungovat částečně. Obvykle jsou k dispozici také chybové zprávy.
- Logické chyby: Jedná se o chyby, když je syntaxe správná, ale logika nebo kód jsou nepřesné. Zde program běží úspěšně bez chyb. Ale výsledky výstupu jsou nesprávné. Často je obtížnější je opravit než syntaktické chyby, protože tyto programy neposkytují žádné chybové zprávy pro logické chyby.
Otázka č. 43) Jak efektivně zvládnout velké množství možností pro jednu podmínku cesta?
Odpovědět: To se provádí pomocí příkazů switch:
Například,
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 }
Otázka č. 44) Co je ternární operátor?
Odpovědět: Ternární nebo podmíněný je operátor, který se používá k rychlé volbě mezi dvěma možnostmi na základě pravdivého nebo nepravdivého testu.
To lze použít jako náhradu za blok ... else, když máte dvě možnosti, které jsou vybrány mezi podmínkou true / false.
Například,
if (some condition) result = ‘result 1’; else result = ‘result 2’;
Stejný kód lze zapsat pomocí ternárního operátoru v jednom příkazu následujícím způsobem:
result = (podmínka)? ‘result 1’: ‘result 2’;
Otázka č. 45) Předpokládejme, že existuje objekt zvaný osoba
konst. osoba = {
název : {
první: „Bob“,
poslední: „Smith“
}
};
Který z následujících je správný způsob přístupu k vlastnosti objektu „první“?
- osoba.jméno první,nebo
- osoba („jméno“) („první“)?
Odpovědět: Oba jsou správné způsoby. tj. použití teček jako osoba.název.první nebo použití závorkové notace jako osoba („jméno“) („první“)
Otázka č. 46) Co je to „toto“?
Odpovědět: Klíčové slovo „this“ odkazuje na aktuální objekt, do kterého je kód zapsán.
Tím se zajistí, že se při změně kontextu člena použijí správné hodnoty
Například, existují dva různé případy a osoba mají různá jména a je nutné si v upozornění vytisknout jejich vlastní jméno následujícím způsobem:
const person1 = { name: 'Tom', greeting: function() { alert('Good Morning! I am ' + this.name + '.'); } }
Tady je výstup Dobré ráno! Jsem ‚Tom '
const person2 = { name: 'Jerry', greeting: function() { alert('Good Morning! I am ' + this.name + '.'); } }
Tady je výstup Dobré ráno! Jsem „Jerry“
Otázka č. 47) Co jsou anonymní funkce?
Odpovědět: Anonymní funkce jsou funkce bez jakéhokoli názvu a samy o sobě nic neudělají. Obvykle se používají spolu s obslužnou rutinou události.
Například, v následujícím kódu anonymní funkční kód, tj. výstraha („Ahoj“); se spustí po kliknutí na přidružené tlačítko:
var myButton = document.querySelector('button'); myButton.onclick = function() { alert('Hi'); }
Anonymní funkci lze také přiřadit hodnotě proměnné.
Například,
var myVar = function() { alert('Hi'); }
Tuto funkci lze vyvolat pomocí:
myVar();
Závěr
Je lepší ukládat kódy JavaScript, CSS a HTML jako samostatné externí soubory „js“. Oddělení kódovací části a části HTML usnadní jejich čtení a práci s nimi. Pro více vývojářů je také snazší pracovat s touto metodou současně.
JavaScriptový kód se snadno udržuje. Stejnou sadu kódů JavaScript lze použít na více stránkách. Pokud používáme externí kódy JavaScriptu a pokud kód potřebujeme změnit, musíme jej změnit na jednom místě. Abychom mohli kód znovu použít a udržovat je mnohem jednodušším způsobem.
Doporučené čtení = >> TypeScript vs JavaScript
Kód JavaScript má lepší výkon. Externí soubory JavaScriptu zvýší rychlost načítání stránky, protože budou ukládány do mezipaměti prohlížečem.
Doufám, že vám byly Otázky a odpovědi k rozhovoru s JavaScriptem užitečné. Procvičte si co nejvíce otázek a buďte si jisti.
Doporučené čtení
- Dotazy a odpovědi na pohovor
- Top 32 nejlepších datastage dotazů a odpovědí
- ETL Testing Interview Otázky a odpovědi
- Top 20+ .NET Interview Otázky a odpovědi
- Několik složitých otázek a odpovědí na ruční testování
- 25 nejlepších agilních testovacích otázek a odpovědí na rozhovor
- Spock Interview Otázky s odpověďmi (nejoblíbenější)
- Některé zajímavé otázky týkající se testování softwaru