top 45 javascript interview questions with detailed answers
Questions d'entrevue JavaScript de base et avancées les plus fréquemment posées avec des réponses détaillées pour chaque développeur JavaScript.
Si vous vous préparez pour une entrevue, voici les questions et réponses d'entrevue JS les plus fréquemment posées pour votre référence.
Nous avons conçu la même chose pour vous présenter les questions que vous pourriez probablement rencontrer lors de votre entretien technique.
Explorons!!
À propos de JavaScript
JavaScript est un langage de programmation de haut niveau, probablement l'un des langages de programmation les plus utilisés au monde actuellement. Il peut être utilisé pour programmer des navigateurs Web ou même des serveurs.
Pour comprendre l'importance de JavaScript, désactivez JavaScript sur votre navigateur et essayez d'y charger la page Web. Ces pages Web ne fonctionneront pas correctement. De nombreux contenus qu'ils contiennent peuvent mal se comporter. Presque tous les navigateurs modernes utilisent la combinaison de JavaScript, CSS et HTML.
JavaScript est un langage de programmation interprété. Un interpréteur est intégré dans des navigateurs comme Google Chrome, Microsoft Internet Explorer, etc. Ainsi, son code peut être manipulé par le moteur JavaScript du navigateur.
JavaScript est apparu en décembre 1995 et s'appelait initialement LiveScript, bien que le nom ait été rapidement changé pour des raisons marketing. Il ne faut pas le confondre avec «Java» qui a également une certaine ressemblance mais est un langage complètement différent.
Questions d'entretien JavaScript les plus fréquemment posées
Q # 1) Qu'est-ce que JavaScript?
Répondre: JavaScript est un langage de script développé par Netscape. Il peut être utilisé pour programmer des navigateurs Web ou même des serveurs. Il peut mettre à jour dynamiquement le contenu de la page Web, ce qui est la beauté de cette langue.
Q # 2) Quels sont les avantages de l'utilisation de JavaScript externe?
Répondre: L'utilisation de JavaScript externe dans notre code présente de nombreux avantages.
Ceux-ci sont indiqués ci-dessous.
- La séparation du code est effectuée.
- La maintenabilité du code est facile.
- La performance est meilleure.
Q # 3) Dans l'extrait de code suivant, pouvez-vous prévoir la sortie ou si vous obtenez une erreur, veuillez expliquer l'erreur?
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;
Réponse est r : Ce code ne produira aucune erreur. La redéclaration des variables est autorisée en JavaScript. Par conséquent, la valeur de la variable ne sera pas perdue après l'exécution de l'instruction ici.
Q # 4) Dans l'extrait de code suivant, pouvez-vous prédire la sortie ou si vous obtenez une erreur; veuillez expliquer l'erreur?
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 ;
Répondre: Ce code n'affichera aucune erreur!
Sortie de l'extrait de code:
La première somme variable est: 70 Sajeesh Sreeni
La deuxième somme variable est: Sajeesh Sreeni 5020
Q # 5) Quelle est la différence entre les méthodes test () et exec ()?
Répondre: Test () et exec () sont des méthodes d'expression RegExp.
En utilisant un test () , nous rechercherons une chaîne pour un modèle donné, s’il trouve le texte correspondant, il renvoie la valeur booléenne «true» ou bien il renvoie «false».
Mais en exec () , nous rechercherons une chaîne pour un modèle donné, s'il trouve le texte correspondant, il renvoie le modèle lui-même ou bien il renvoie la valeur «null».
Q # 6) Quels sont les avantages de JavaScript?
Répondre: Ce langage de script présente de nombreux avantages comme indiqué ci-dessous.
- Poids léger: Il est facile à mettre en œuvre. Il a de petites empreintes de mémoire.
- Interprété: C'est une langue interprétée. Les instructions sont exécutées directement.
- Orienté objet: C'est un langage orienté objet.
- Fonctions de première classe: En JavaScript, une fonction peut être utilisée comme valeur.
- Langage de script: C'est un langage dans lequel les instructions sont écrites pour un environnement d'exécution.
Q # 7) Dans l'extrait de code suivant, pouvez-vous s'il vous plaît prédire la sortie ou si vous obtenez une erreur; veuillez expliquer l'erreur?
Sample: Software Testing Help
Example Const Variable
const first_num; first_num =1000; document.getElementById('display').innerHTML = 'First Number:'+ first_num;
Répondre: La variable «const» «first_num» n’est pas initialisée avec une valeur, le code produira donc une erreur de syntaxe.
Sortie de l'extrait de code:
Erreur: Syntaxe non interceptéeErreur: initialiseur manquant dans la déclaration const
Q # 8) Avez-vous utilisé un navigateur pour le débogage? Si oui, comment est-ce fait?
Répondre: En appuyant sur la touche «F12» du clavier, nous pouvons activer le débogage dans le navigateur. Choisissez l’onglet «Console» pour afficher les résultats.
Dans la console, nous pouvons définir des points d'arrêt et afficher la valeur en variables. Tous les navigateurs modernes ont un débogueur intégré avec eux (Par exemple: Chrome, Firefox, Opera et Safari ) . Cette fonction peut être activée et désactivée.
Q # 9) À quoi sert le mot-clé 'débogueur' dans le code JavaScript?
meilleur VPN pour netflix
Répondre: L’utilisation du mot-clé ‘debugger’ dans le code revient à utiliser des points d’arrêt dans le débogueur.
Pour tester le code, le débogueur doit être activé pour le navigateur. Si le débogage est désactivé pour le navigateur, le code ne fonctionnera pas. Pendant le débogage du code, la partie restante doit cesser de s'exécuter, avant de passer à la ligne suivante.
Q # 10) Quels sont les types distincts de valeurs de nom d'erreur?
Répondre: Il existe 6 types de valeurs dans la propriété ‘Error Name’.
Erreur | La description |
---|---|
Erreur de plage | Nous obtiendrons cette erreur si nous utilisons un nombre en dehors de la plage |
Erreur de syntaxe | Cette erreur se produit lorsque nous utilisons la syntaxe incorrecte. (Veuillez vous référer aux questions n ° 7) |
Erreur de référence | Cette erreur est générée si une variable non déclarée est utilisée. Veuillez vous référer à la question n ° 19 |
Erreur d'évaluation | Lancé en raison de l'erreur dans eval (). La nouvelle version de JavaScript n'a pas cette erreur |
Erreur-type | La valeur est en dehors de la plage des types utilisés. Veuillez vous référer aux questions n °: 22 |
Erreur d'URI | En raison de l'utilisation de caractères illégaux. |
Q # 11) Qu'est-ce que JavaScript Hoisting?
Répondre: Lors de l’utilisation de la méthode «JavaScript Hoisting», quand un interpréteur exécute le code, toutes les variables sont hissées en haut de la portée originale / actuelle. Si vous avez une variable déclarée n'importe où dans le code, elle est placée en haut.
Cette méthode n'est applicable qu'à la déclaration d'une variable et n'est pas applicable pour l'initialisation d'une variable. Les fonctions sont également hissées vers le haut, tandis que les explications de fonction ne sont pas hissées vers le haut.
En gros, l'endroit où nous avons déclaré la variable dans le code n'a pas beaucoup d'importance.
Q # 12) Qu'est-ce que le «mode strict» JavaScript?
Répondre: Le «mode strict» est une variante restreinte de JavaScript. Habituellement, ce langage n'est «pas très strict» pour lancer des erreurs. Mais en «mode strict», il lancera tous les types d’erreurs, même les erreurs silencieuses. Ainsi, le processus de débogage devient plus facile. Et les chances de faire une erreur pour le développeur sont réduites.
Q # 13) Quelles sont les caractéristiques du «Mode strict» JavaScript?
Réponse: Voici les caractéristiques du «mode strict»:
- Le «mode strict» empêchera les développeurs de créer des variables globales.
- Les développeurs ne sont pas autorisés à utiliser des paramètres en double.
- Le mode strict vous empêchera d'utiliser le mot-clé JavaScript comme nom de variable ou nom de fonction.
- Le mode strict est déclaré avec le mot-clé ‘use strict’ au début du script.
- Tous les navigateurs prennent en charge le mode strict.
Q # 14) Que sont les fonctions auto-appelantes?
Répondre: Ils sont également appelés «expressions de fonction immédiatement appelées» ou «fonctions anonymes à exécution automatique». Ces fonctions sont appelées automatiquement dans le code, d’où elles sont nommées «Fonctions d’auto-appel».
Habituellement, nous définissons une fonction et l'appelons, mais si nous voulons exécuter une fonction automatiquement là où elle est expliquée, et si nous n'allons pas la rappeler, nous pouvons utiliser des fonctions anonymes. Et ces types de fonctions n'ont pas de nom.
Q # 15) Quelle est la syntaxe de la «fonction auto-appelante»? Donne un exemple?
Répondre:
La syntaxe de la fonction d'auto-appel:
(function () { return () } () ;
Ici, la dernière parenthèse «()» dans la syntaxe indique qu'il s'agit d'une expression de fonction.
Exemple de fonctions auto-appelées:
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'; }());
Ici, la fonction anonyme est automatiquement appelée dans l'extrait de code.
La fonction est utilisée pour définir la propriété text du
tag ayant 'display_num' comme identifiant.
Sortie de l'extrait de code:
Cette fonction n'a pas de nom.
Il est appelé automatiquement
Q # 16) Dans l'extrait de code suivant, pouvez-vous prédire la sortie ou si vous obtenez une erreur; veuillez expliquer l'erreur?
Répondre:
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
Veuillez vous référer à la question n ° 11 précédente, comme expliqué ici, l'interpréteur prendra toutes les variables déclarées sauf l'initialisation vers le haut.
Comme pour cela, la variable «first_num» est prise en haut et la variable «second_num» est initialisée avec une valeur, elle n'est donc pas prise en haut. Ce code ne lèvera pas d'erreur. Mais la valeur de ‘second_num’ n’est pas définie.
Sortie de l'extrait de code:
Ici, la variable first_num: 100 est prise en haut
Puisque la deuxième variable est initialisée, la valeur n'est pas prise en haut et sa valeur n'est pas définie
Q # 17) Si vous avez besoin de masquer le code JavaScript des anciennes versions du navigateur, comment allez-vous l'exécuter?
Répondre: Dans Code, après la balise, ajoutez '
Cela ne permettra pas au navigateur d'exécuter le code JavaScript s'il s'agissait d'une ancienne version de celui-ci. De plus, après la balise de fin, ajoutez la balise HTML «// ->».
Cette méthode aidera dans une certaine mesure à résoudre les problèmes de compatibilité et les problèmes d'interface utilisateur.
Sample: Software Testing Help
Ici, l'extrait de code après une balise est exécuté dans mon navigateur car je n'utilise pas une ancienne version du navigateur.
Sortie de l'extrait de code:
Ici, je n'utilise pas une ancienne version du navigateur.
Donc, le code fonctionnera dans mon navigateur
Q # 18) Dans l'extrait de code suivant, pouvez-vous prédire la sortie ou si vous obtenez une erreur, veuillez expliquer l'erreur?
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();
Répondre: Ici, dans le code donné ci-dessus, la valeur de la variable «first_num» ne sera pas 1 000.
En JavaScript, il n'y a pas de levage pour l'initialisation des variables. La fonction ‘result ()’ choisira la variable locale ‘first_num’, telle qu’elle est déclarée dans la fonction. Étant donné que la variable est déclarée après son utilisation, la valeur de ‘first_num’ n’est pas définie.
Sortie de l'extrait de code:
Indéfini
Q # 19) Quelle est la différence entre les mots clés 'var' et 'let'?
Réponse: Les différences sont les suivantes:
Où | laisser |
---|---|
Le mot clé 'var' a été introduit dans le code JavaScript dès le début de Stage lui-même. | Le mot clé 'let' n'a été introduit qu'en 2015. |
Le mot clé 'Var' a une portée de fonction. La variable définie avec var est disponible n'importe où dans la fonction | Une variable déclarée avec le mot-clé 'let' a une portée uniquement dans ce bloc. Alors, laissez a une portée de bloc. |
La variable déclarée avec «var» doit être hissée | La variable déclarée avec «let» soit hissée |
Q # 20) Dans l'extrait de code suivant, pouvez-vous prédire la sortie ou si vous obtenez une erreur; veuillez expliquer l'erreur?
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;
Répondre:
Sortie de l'extrait de code:
Premier Nombre : 1000
Nous allons obtenir 'Première Nombre : 1000 pi comme sortie. Il existe également une erreur «Erreur de référence non interceptée».
Dans l'extrait de code, la portée de 'second_num' est uniquement dans le bloc if (). Si un développeur tente d'accéder à la valeur en dehors du bloc, il obtiendra une 'erreur de référence non interceptée'.
Erreur de référence non interceptée: second_num n'est pas défini.
Q # 21) Quelle est la différence entre «==» et «===»?
Répondre: «==» et «===» sont des opérateurs de comparaison.
Opérateur «==» | Opérateur «===» |
---|---|
Il est appelé «opérateur de conversion de type» | Il est connu sous le nom de «Strict Equality Operator» |
Il compare la valeur, ne compare pas le type | Il compare à la fois la valeur et le type. |
Q # 22) Quelle est la différence entre «let» et «const»?
Réponse: Les différences sont les suivantes:
laisser | const |
---|---|
en utilisant 'let', nous pouvons changer la valeur de la variable un nombre illimité de fois | en utilisant «const», après la première affectation de la valeur, nous ne pouvons pas redéfinir la valeur |
Considérez le code { soit first_num = 1; first_num = 2; document. write (first_num); } Ici, le code donnera une sortie, car le changement de valeur de first_num est possible. | Considérez le code { const second_num = 1; second_num = 2; document. write (second_num); } Ici, le code produira une erreur, car le ‘second_num’ est attribué avec une seconde valeur. |
Q # 23) Dans l'extrait de code suivant, pouvez-vous prédire la sortie ou si vous obtenez une erreur; veuillez expliquer l'erreur?
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;
Répondre: Veuillez vous référer à la Q # 21 avant de lire davantage
Sortie de l'extrait de code:
Premier numéro: 501
Nous obtiendrons également une erreur lors de l’exécution du code, car nous essayons de modifier la valeur d’une variable «const».
Erreur: Uncaught TypeError: Affectation à une variable constante.
Q # 24) Quelle est la différence entre «nul» et «non défini»?
Répondre: Les deux mots clés représentent des valeurs vides .
Les différences sont:
- En 'indéfini', nous définirons une variable, mais nous n’attribuerons pas de valeur à cette variable. En revanche, en 'null', nous définirons une variable et attribuerons la valeur 'null' à la variable.
- type d'objet (non défini) et type d'objet (nul).
Q # 25) Quelle est la différence entre «déclaration de fonction» et «expression de fonction»?
Répondre: Cela peut être expliqué par un exemple:
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);
Comme indiqué dans l'exemple, add () est une déclaration de fonction et soustract () est une expression de fonction. La syntaxe de la déclaration de fonction est comme une fonction qui est enregistrée dans une variable.
Les déclarations de fonction sont hissées mais les expressions de fonction ne sont pas hissées.
Q # 26) Que sont «settimeout ()»?
Répondre: Cela sera mieux expliqué avec un exemple.
Considérez l'extrait de code
Console.log (‘First Line’); Console.log (‘Second Line’); Console.log (‘Third Line’);
Sortie de l'extrait de code:
Première ligne
Deuxième ligne
Troisième ligne
Maintenant, vous introduisez la méthode settimeout () et y enveloppez le même ensemble de code.
Settimeout(function() { Console.log (‘First Line’); },0); Console.log (‘Second Line’); Console.log (‘Third Line’);
Sortie de l'extrait de code:
Deuxième ligne
Troisième ligne
Première ligne
Avec l'introduction de settimeout (), les processus deviennent asynchrones. Les premières instructions à placer dans la pile sont Console.log («deuxième ligne») et Console.log («troisième ligne»), et elles seront exécutées en premier. Vous devez attendre que tout dans la pile soit terminé en premier.
Même si «0» est le délai d’expiration, cela ne signifie pas qu’il sera exécuté immédiatement.
Q # 27) Qu'est-ce qu'une fermeture et comment l'utilisez-vous?
Répondre: Une fermeture est une fonction intérieure. Il peut accéder aux variables externes d'une fonction. Dans Closure, dans function_1, il y a une autre function_2 qui renvoie la valeur «A» et function_1 renvoie également une valeur; dites «B».
Ici, sum () est la fonction externe et add () est une fonction interne, elle peut accéder à toutes les variables, y compris «first_num», «second_num» et «third_num». La fonction externe appelle la fonction interne 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));
Sortie de l'extrait de code:
Le résultat est: 500
Q # 28) Dans l'extrait de code suivant, pouvez-vous prédire la sortie ou si vous obtenez une erreur; veuillez expliquer l'erreur?
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; }
Répondre: Les instructions d'affectation sont considérées de droite à gauche.
Sortie de l'extrait de code:
x = 200
et: 200
avec: 200
p: 200
q: 200
Q # 29) Pouvez-vous donner un exemple où l'extrait de code montre la différence entre les méthodes test () et 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; }
Répondre: Ceci est un exemple des méthodes test () et exec (), reportez-vous aux questions n ° 5 pour plus de détails.
Sortie de l'extrait de code:
Trouvé le modèle en utilisant exec (): Comment
En utilisant test (), le résultat est: true
Q # 30) Pouvez-vous donner un exemple montrant le levage JavaScript?
Répondre:
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
Veuillez vous référer à la Q # 11 pour plus de détails.
Ici, la variable «num» est utilisée avant de la déclarer. Mais JavaScript Hoisting le permettra.
Sortie de l'extrait de code:
Ici, les variables sont utilisées avant de le déclarer.
La valeur de la variable est 100
Q # 31) Pouvez-vous donner un exemple montrant l’utilisation du mot-clé 'débogueur' dans le code JavaScript?
Répondre:
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;
Noter: Le débogueur doit être activé pour que le navigateur teste le code. Référez-vous aux questions n ° 5 pour plus de détails
Ceci est un exemple de mot-clé de débogage (Navigateur utilisé: Chrome)
Sortie de l'extrait de code:
Ici pour tester le code, le débogueur doit être activé pour le navigateur,
pendant le débogage, le code ci-dessous doit cesser de s'exécuter avant de passer à la ligne suivante.
Ajout de numéros…
Sélectionnez 'Reprendre l'exécution du script' pour continuer:
Somme des nombres: 1500
Q # 32) Dans l'extrait de code suivant, pouvez-vous prédire la sortie ou si vous obtenez une erreur; veuillez expliquer l'erreur?
Sample: Software Testing Help
Example Type Converting
comment lire des objets flash Shockwave
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 '; }
Répondre: Considérez le code
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
Sortie de l'extrait de code:
La comparaison renverra 'vrai' par opérateur de conversion de type
Q # 33) Java et JavaScript sont-ils similaires? Sinon, quelle est la différence entre Java et JavaScript?
Répondre:
Sl Non | Java | JavaScript |
---|---|---|
un | Java est un langage de programmation à usage général. | JavaScript est un langage de script interprété de haut niveau. |
deux | Java est basé sur les concepts de programmation orientée objet (OOPS). | JavaScript est à la fois un script orienté objet et un script fonctionnel. |
3 | S'exécute dans une machine virtuelle Java (JVM) ou un navigateur. | Fonctionne uniquement sur un navigateur. |
4 | Le code Java doit être compilé en tant que fichier de classe Java. | JavaScript n'a pas d'étape de compilation. Au lieu de cela, un interpréteur dans le navigateur lit le code JavaScript, interprète chaque ligne et l'exécute. |
Bref, ces langues ne sont pas du tout liées ou dépendantes les unes des autres.
Q # 34) Quels types de données sont pris en charge par JavaScript?
Répondre: JavaScript prend en charge les éléments suivants Sept types de données primitives et Objet :
(i) Booléen: Il s'agit d'un type de données logique qui ne peut avoir que deux valeurs, c'est-à-dire vrai ou faux. Lorsque nous vérifions le type de données «vrai» ou «faux» à l’aide de l’opérateur typeof, il renvoie une valeur booléenne.
Par exemple, typeof (true) // retourne booléen
Les valeurs booléennes peuvent être utilisées pour comparer deux variables.
Par exemple,
var x = 2; var y = 3; x==y //returns false
La valeur booléenne peut également être utilisée pour vérifier une condition
Par exemple,
var x = 2; var y = 3; If(xSi la condition ci-dessus «x Une variable booléenne peut être créée à l'aide de la fonction Boolean ().
var myvar = ‘Hi'; Boolean(myvar); // This returns true because the 'myvar' value exists
En outre, l'objet booléen peut être créé à l'aide du nouvel opérateur comme suit:
var myobj = new Boolean(true);
(Ii) Null :Il s’agit d’un type de données représenté par une seule valeur, le «nul» lui-même. Une valeur nulle signifie aucune valeur.
Par exemple,
var x = null; console.log(x);// This returns null
Si nous vérifions le type de données d'un à l'aide de l'opérateur typeof, nous obtenons:
typeof(x); // This returns object. type of a null value is an object, not null.
(iii) Indéfini: Ce type de données signifie une variable qui n'est pas définie. La variable est déclarée mais elle ne contient aucune valeur.
Par exemple,
var x; console.log(x); // This returns undefined x=10;//Assign value to x console.log(x); // This returns 10
La variable «a» a été déclarée mais aucune valeur n’a encore été attribuée.
Nous pouvons attribuer une valeur à a:
(iv) Numéro: Ce type de données peut être une valeur à virgule flottante, un entier, une valeur exponentielle, un 'NaN' ou un 'Infinity'.
Par exemple,
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
Le littéral numérique peut être créé à l'aide de la fonction Number ():
var x = Number(10); console.log(x);// This returns 10
En outre, l’objet numérique peut être créé à l’aide de l’opérateur «nouveau» comme suit:
var x= new Number(10); console.log(x); // This returns 10
(v) BigInt: Il s'agit d'une primitive numérique qui peut représenter des entiers avec une précision arbitraire. BigInt est créé en ajoutant n à la fin d'un entier
Par exemple,
const x = 15n;
Le nombre peut être converti en BigInt avec la fonction BigInt (number).
const x = 251; const y = BigInt(x); y === 251n // returns true
(vi) Chaîne: Ce type de données est utilisé pour représenter des données textuelles.
Par exemple,
var strVar1 = “Hi,how are you?”; var strVar2 = ‘Hi,how are you?’;
Une nouvelle chaîne peut également être créée à l'aide de la fonction String () comme suit:
var strVar3 = String(‘Hi,how are you?’); // This creates a string literal with value ‘Hi,how are you?’
La fonction String () est également utilisée pour convertir une valeur non chaîne en chaîne.
String(150); // This statement will create a string ‘150’
La chaîne peut également être créée en utilisant 'Nouveau' opérateur
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?’
Les chaînes JavaScript sont immuables, c'est-à-dire qu'une fois qu'une chaîne est créée, elle ne peut pas être modifiée. Mais une autre chaîne peut être créée en utilisant une opération sur la chaîne d'origine.
Par exemple,
- En concaténant deux chaînes à l'aide de l'opérateur de concaténation (+) ou String.concat () .
- En obtenant une sous-chaîne à l'aide de String.substr () .
(vii) Symbole: Il s'agit d'une valeur primitive unique et immuable et utilisée comme clé d'une propriété Object. Les symboles sont nouveaux pour JavaScript dans ECMAScript 2015
À symbole value représente un identifiant unique.
Par exemple,
var symVar1 = Symbol('Symbol1'); let symVar2 = Symbol('Symbol1'); console.log(symVar1 === symVar2); // This returns 'false'.
Ainsi, de nombreux symboles sont créés avec la même description, mais avec des valeurs différentes.
Les symboles ne peuvent pas être convertis automatiquement.
Par exemple,
var symVar1 = Symbol('Symbol1'); alert(symVar1); // This gives TypeError: Cannot convert a Symbol value to a string
Cela peut être travaillé en utilisant toString () comme suit:
alert(symVar1.toString()); // Symbol(symVar1), this works
Type de données d'objet
Un objet est une valeur en mémoire référencée par un identifiant.
Objet fait référence à une structure de données contenant des données et des instructions pour travailler avec les données. Les objets font parfois référence à des choses du monde réel, Par exemple, un employé ou une voiture.
Par exemple,
Dans les objets JavaScript, les valeurs sont écrites comme nom: valeur paires comme ci-dessous:
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' };
La nom: valeurs les paires sont appelées Propriétés . Par exemple, «Type» est la propriété et «BMW» est la valeur de la propriété.
Les valeurs de propriété sont accessibles à l'aide de objectName.propertyName
ou objectName ('propertyName')
Par exemple, car1.type ou car1 ('type'), renvoie 'BMW'
La valeur de l'objet car1 peut être modifiée comme suit:
car1.type = “Audi”;
À présent,
console.log(car1) ;//This will return {type:'Audi', model:” The BMW X5“ , color:'white'};
Q # 35) JavaScript est-il un langage sensible à la casse?
Répondre: Oui, JavaScript est un langage sensible à la casse. Cela signifie des mots-clés de la langue, des variables, des noms de fonction et tout autre identificateur qui doit toujours être tapé avec des lettres majuscules ou minuscules cohérentes.
Par exemple, myVar est une variable différente de myvar.
Q # 36) Comment déterminer à quel type de données appartient un opérande?
Répondre: Le type de données d'opérande peut être trouvé en utilisant l'opérateur typeof
Il renvoie une chaîne indiquant le type de l'opérande.
Syntaxe : type d'opérande
typeof (opérande)
L'opérande peut être n'importe quelle variable, objet ou fonction.
Par exemple,
console.log (typeof 10);// expected output: 'number' console.log (typeof 'hello');// expected output: 'string' console.log (typeof);//expected output: //'undefined';
Q # 37) Pourquoi JavaScript est-il appelé comme un langage à typage lâche ou dynamique?
Répondre: JavaScript est appelé comme un langage de typage lâche ou dynamique, car les variables JavaScript ne sont directement associées à aucun type de valeur et toute variable peut être affectée et réaffectée des valeurs de tous types:
Par exemple,
var myvar = ‘abc’; // myvar is string myvar =true; // myvar is now a boolean myvar = 10; // myvar is now a number
Q # 38) Qu'est-ce qui est nul en JavaScript?
Répondre: La valeur null représente l'absence intentionnelle de toute valeur d'objet.
C’est l’une des valeurs primitives de JavaScript.
Par exemple,
Var myvar = null; console.log(myvar); //This will print null
Q # 39) Qu'est-ce que NaN?
Réponse: NaN est une propriété d'objet global représentant Not-A-Number.
Par exemple,
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
Q # 40) Comment diviser une chaîne en éléments de tableau?
Répondre: Une chaîne peut être divisée en un tableau à l'aide de la méthode JavaScript split (). Cette méthode prend un seul paramètre, le caractère sur lequel vous souhaitez séparer la chaîne, et renvoie les sous-chaînes entre le séparateur sous forme d'éléments dans un tableau.
Par exemple,
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
Q # 41) Comment joindre des éléments de tableau dans une chaîne?
Répondre: Les éléments de tableau peuvent être joints en utilisant la méthode join ().
comment ouvrir un fichier .jar
Par exemple,
var myDaysArray= ('Sunday','Monday','Tuesday',”Wednesday”);
Les éléments du tableau sont joints en une chaîne comme suit:
myDaysString= myDaysArray.join(','); console.log(myDaysString);//output is joined string i.e.//Sunday,Monday,Tuesday,Wednesday
Q # 42) Quel type d'erreurs JavaScript a-t-il?
Répondre: Voici les 2 types d'erreur:
- Erreurs de syntaxe: Ce sont des fautes de frappe ou des erreurs d'orthographe dans le code qui empêchent le programme de s'exécuter du tout ou de cesser de fonctionner à mi-chemin. Habituellement, des messages d'erreur sont également fournis.
- Erreurs de logique: Ce sont des erreurs lorsque la syntaxe est correcte, mais que la logique ou le code est inexact. Ici, le programme s'exécute avec succès sans erreurs. Mais les résultats de sortie sont incorrects. Celles-ci sont souvent plus difficiles à corriger que les erreurs de syntaxe car ces programmes ne donnent aucun message d’erreur pour les erreurs de logique.
Q # 43) Comment gérer un grand nombre de choix pour une condition dans un chemin?
Répondre: Cela se fait à l'aide d'instructions switch:
Par exemple,
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 }
Q # 44) Qu'est-ce qu'un opérateur ternaire?
Répondre: Le ternaire ou conditionnel est un opérateur qui permet de faire un choix rapide entre deux options basées sur un test vrai ou faux.
Cela peut être utilisé comme un substitut au bloc if… else lorsque deux choix sont choisis entre une condition vrai / faux.
Par exemple,
if (some condition) result = ‘result 1’; else result = ‘result 2’;
Le même code peut être écrit à l'aide d'un opérateur ternaire dans une seule instruction comme suit:
résultat = (condition)? «résultat 1»: «résultat 2»;
Q # 45) Supposons qu'il y ait un objet appelé une personne
personne const = {
Nom : {
premier: «Bob»,
dernier: «Smith»
}
};
Lequel des éléments suivants est le moyen correct d’accéder à la propriété d’objet «en premier»?
- personne.nom.premier,ou
- personne («nom») («premier»)?
Répondre: Les deux sont des moyens corrects. c'est-à-dire en utilisant des points comme personne.nom.first ou en utilisant la notation entre crochets comme personne ('nom') ('premier')
Q # 46) Qu'est-ce que «ceci»?
Répondre: Le mot-clé «this» fait référence à l'objet actuel dans lequel le code est écrit.
Cela permet de garantir que les valeurs correctes sont utilisées lorsque le contexte d’un membre change
Par exemple, il existe deux instances différentes d'un la personne ayant des noms différents et il est nécessaire d'imprimer leur propre nom dans l'alerte comme suit:
const person1 = { name: 'Tom', greeting: function() { alert('Good Morning! I am ' + this.name + '.'); } }
Ici, la sortie est Bonjour! Je suis Tom'
const person2 = { name: 'Jerry', greeting: function() { alert('Good Morning! I am ' + this.name + '.'); } }
Ici, la sortie est Bonjour! Je suis «Jerry»
Q # 47) Que sont les fonctions anonymes?
Répondre: Les fonctions anonymes sont des fonctions sans nom et ne font rien par elles-mêmes. Ceux-ci sont généralement utilisés avec un gestionnaire d'événements.
Par exemple, dans le code suivant, code de fonction anonyme, c'est-à-dire alerte («Salut»); s'exécuterait en cliquant sur le bouton associé:
var myButton = document.querySelector('button'); myButton.onclick = function() { alert('Hi'); }
La fonction anonyme peut également être affectée à la valeur d'une variable.
Par exemple,
var myVar = function() { alert('Hi'); }
Cette fonction peut être appelée en utilisant:
myVar();
Conclusion
Il est préférable de stocker les codes JavaScript, CSS et HTML dans des fichiers externes «js» distincts. Séparer la partie de codage et la partie HTML facilitera leur lecture et leur utilisation. Plusieurs développeurs trouvent également cette méthode plus facile à utiliser simultanément.
Le code JavaScript est facile à maintenir. Le même ensemble de codes JavaScript peut être utilisé sur plusieurs pages. Si nous utilisons des codes JavaScript externes et si nous devons changer le code, nous devons le changer en un seul endroit. Afin que nous puissions réutiliser le code et le maintenir d'une manière beaucoup plus simple.
Suggestion de lecture = >> TypeScript vs JavaScript
Le code JavaScript a de meilleures performances. Les fichiers JavaScript externes augmenteront la vitesse de chargement de la page car ils seront mis en cache par le navigateur.
J'espère que vous avez trouvé les Questions et réponses d'entrevue JavaScript utiles. Pratiquez autant de questions que possible et soyez confiant.
lecture recommandée
- Questions et réponses d'entrevue
- Top 32 des meilleures questions et réponses d'entrevue de datastage
- Questions et réponses d'entrevue de test ETL
- Top 20+ Questions et réponses d'entrevue .NET
- Quelques questions et réponses difficiles sur les tests manuels
- 25 meilleures questions et réponses d'entrevue de test Agile
- Questions d'entrevue Spock avec réponses (les plus populaires)
- Quelques questions d'entretien intéressantes sur les tests de logiciels