top 45 javascript interview questions with detailed answers
Perguntas da entrevista de JavaScript básicas e avançadas mais frequentes com respostas detalhadas para cada desenvolvedor de JavaScript.
Se você está se preparando para uma entrevista, aqui estão as perguntas e respostas da entrevista JS mais frequentes para sua referência.
Elaboramos o mesmo para que você seja apresentado às perguntas que provavelmente encontrará durante a entrevista técnica.
Vamos explorar!!
Sobre JavaScript
JavaScript é uma linguagem de programação de alto nível, provavelmente uma das linguagens de programação mais usadas no mundo atualmente. Ele pode ser usado para programar navegadores da web ou mesmo servidores.
Para entender a importância do JavaScript, desative o JavaScript em seu navegador e tente carregar a página da Web nele. Essas páginas da Web não funcionarão corretamente. Muitos conteúdos neles podem apresentar mau comportamento. Quase todos os navegadores modernos usam a combinação de JavaScript, CSS e HTML.
JavaScript é uma linguagem de programação interpretada. Um intérprete está embutido em navegadores como Google Chrome, Microsoft Internet Explorer, etc. Portanto, seu código pode ser manipulado pelo mecanismo JavaScript do navegador.
JavaScript apareceu em dezembro de 1995 e foi inicialmente chamado de LiveScript, embora o nome logo tenha sido alterado por razões de marketing. Não deve ser confundido com ‘Java’, que também tem alguma semelhança, mas é uma linguagem completamente diferente.
Perguntas mais frequentes da entrevista sobre JavaScript
P # 1) O que é JavaScript?
Responda: JavaScript é uma linguagem de script desenvolvida pela Netscape. Ele pode ser usado para programar navegadores da web ou mesmo servidores. Pode atualizar dinamicamente o conteúdo da página web, que é a beleza desta linguagem.
P # 2) Quais são as vantagens de usar JavaScript externo?
Responda: Usar JavaScript externo em nosso código tem muitas vantagens.
Estes são declarados abaixo.
- A separação do código é feita.
- A manutenção do código é fácil.
- O desempenho é melhor.
P # 3) No fragmento de código a seguir, você pode prever a saída ou Se você receber um erro, explique o erro?
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;
Resposta é r : Este código não produzirá erros. A redeclaração das variáveis é permitida em JavaScript. Portanto, o valor da variável não será perdido após a execução da instrução aqui.
P # 4) No fragmento de código a seguir, você pode prever a saída ou se ocorrer um erro; explique o erro?
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 ;
Responda: Este código não mostrará nenhum erro!
Saída do snippet de código:
A primeira soma variável é: 70 Sajeesh Sreeni
A segunda soma variável é: Sajeesh Sreeni 5020
P # 5) Qual é a diferença entre os métodos test () e exec ()?
Responda: Ambos test () e exec () são métodos de expressão RegExp.
Usando um teste () , vamos pesquisar uma string para um determinado padrão, se encontrar o texto correspondente, ele retorna o valor booleano 'verdadeiro' ou então retorna 'falso'.
Mas em exec () , vamos pesquisar uma string para um determinado padrão, se encontrar o texto correspondente, ele retorna o próprio padrão ou então retorna o valor ‘nulo’.
P # 6) Quais são as vantagens do JavaScript?
Responda: Essa linguagem de script tem muitas vantagens, conforme declarado a seguir.
- Leve: É fácil de implementar. Possui pequenas pegadas de memória.
- Interpretado: É uma linguagem interpretada. As instruções são executadas diretamente.
- Orientado a Objeto: É uma linguagem orientada a objetos.
- Funções de primeira classe: Em JavaScript, uma função pode ser usada como um valor.
- Linguagem de script: É uma linguagem na qual as instruções são escritas para um ambiente de tempo de execução.
P # 7) No fragmento de código a seguir, você pode prever a saída ou se ocorrer um erro; explique o erro?
Sample: Software Testing Help
Example Const Variable
const first_num; first_num =1000; document.getElementById('display').innerHTML = 'First Number:'+ first_num;
Responda: A variável ‘const’ ’first_num’ não é inicializada com um valor, então o código produzirá um erro de sintaxe.
Saída do snippet de código:
Erro: SyntaxError não capturado: Inicializador ausente na declaração const
P # 8) Você usou algum navegador para depuração? Se sim, como isso é feito?
Responda: Ao pressionar a tecla ‘F12’ no teclado, podemos ativar a depuração no navegador. Escolha a guia ‘Console’ para visualizar os resultados.
No Console, podemos definir pontos de interrupção e visualizar o valor nas variáveis. Todos os navegadores modernos têm um depurador integrado com eles (Por exemplo: Chrome, Firefox, Opera e Safari ) . Este recurso pode ser ativado e desativado.
P # 9) Qual é o uso da palavra-chave ‘depurador’ no código JavaScript?
Responda: Usar a palavra-chave ‘debugger’ no código é como usar pontos de interrupção no depurador.
Para testar o código, o depurador deve ser habilitado para o navegador. Se a depuração estiver desabilitada para o navegador, o código não funcionará. Durante a depuração do código, a parte restante deve parar de executar, antes de ir para a próxima linha.
P # 10) Quais são os tipos distintos de valores de nomes de erro?
Responda: Existem 6 tipos de valores na propriedade ‘Nome do erro’.
Erro | Descrição |
---|---|
Erro de intervalo | Obteremos este erro se usarmos um número fora do intervalo |
Erro de sintaxe | Este erro surge quando usamos a sintaxe incorreta. (Consulte a Pergunta No: 7) |
Erro de Referência | Este erro é lançado se for usada uma variável não declarada. Consulte a Pergunta No: 19 |
Erro de avaliação | Lançado devido ao erro em eval (). A nova versão do JavaScript não tem este erro |
Erro de tipo | O valor está fora da faixa de tipos usados. Por favor, consulte a Ques No: 22 |
Erro URI | Devido ao uso de caracteres ilegais. |
P # 11) O que é o içamento de JavaScript?
Responda: Ao usar o método 'JavaScript Hoisting', quando um interpretador executa o código, todas as variáveis são içadas para o topo do escopo original / atual. Se você tiver uma variável declarada em qualquer lugar dentro do código, ela será colocada no topo.
Este método é aplicável apenas para a declaração de uma variável e não é aplicável para a inicialização de uma variável. As funções também são içadas para o topo, enquanto as explicações das funções não são içadas para cima.
Basicamente, onde declaramos a variável dentro do código não importa muito.
P # 12) O que é JavaScript ‘Modo estrito’?
Responda: O ‘modo estrito’ é uma variante restrita do JavaScript. Normalmente, esta linguagem 'não é muito rígida' ao lançar erros. Mas no 'modo estrito', ele lançará todos os tipos de erros, até mesmo os erros silenciosos. Assim, o processo de depuração se torna mais fácil. E as chances de cometer um erro para o desenvolvedor são reduzidas.
P # 13) Quais são as características do JavaScript ‘Modo estrito’?
Resposta: Abaixo estão as características do 'Modo estrito':
- O ‘Modo estrito’ impedirá que os desenvolvedores criem variáveis globais.
- Os desenvolvedores não podem usar parâmetros duplicados.
- O modo estrito o impedirá de usar a palavra-chave JavaScript como um nome de variável ou nome de função.
- O modo estrito é declarado com a palavra-chave ‘use strict’ no início do script.
- Todos os navegadores oferecem suporte ao modo estrito.
P # 14) O que são funções de auto-invocação?
Responda: Eles também são conhecidos como 'Expressões de Função Imediatamente Invocadas' ou 'Funções Anônimas de Autoexecução'. Essas funções são invocadas automaticamente no código, portanto, são chamadas de ‘Funções de Auto Invocação’.
Normalmente, definimos uma função e a invocamos, mas se quisermos executar uma função automaticamente onde ela está explicada, e se não vamos chamá-la novamente, podemos usar funções anônimas. E esses tipos de funções não têm nome.
P # 15) Qual é a sintaxe de ‘Função de auto-invocação’? Dê um exemplo?
Responda:
A sintaxe para a função de auto-invocação:
(function () { return () } () ;
Aqui, o último parêntese ‘()’ na sintaxe afirma que é uma expressão de função.
como abrir arquivos jar windows 10
Exemplo de funções auto-invocadas:
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'; }());
Aqui, a função anônima é chamada automaticamente no fragmento de código.
A função é usada para definir a propriedade de texto do
tag tendo ‘display_num’ como Id.
Saída do snippet de código:
Esta função não tem nome.
É chamado automaticamente
Q # 16) No trecho de código a seguir, você pode prever a saída ou Se você receber um erro; explique o erro?
Responda:
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
Consulte a Q # 11 anterior, conforme explicado lá, o interpretador levará todas as variáveis declaradas, exceto a inicialização, para o topo.
Assim, a variável ‘first_num’ é levada para o topo e a variável ‘second_num’ é inicializada com um valor, portanto, não é levada para o topo. Este código não gerará um erro. Mas o valor de ‘second_num’ é indefinido.
Saída do snippet de código:
Aqui, a variável first_num: 100 é levada para o topo
Uma vez que a segunda variável é inicializada o valor não é levado para o topo e seu valor é indefinido
P # 17) Se você precisar ocultar o código JavaScript das versões mais antigas do navegador, como você fará isso?
Responda: No código, após a tag, adicione ‘
Isso não permitirá que o navegador execute o código JavaScript se for uma versão mais antiga dele. Além disso, após a tag final, adicione a tag HTML ‘// ->’.
Este método ajudará a resolver problemas de compatibilidade e problemas de IU até certo ponto.
Sample: Software Testing Help
Aqui, o snippet de código após uma tag é executado em meu navegador, pois não estou usando uma versão mais antiga do navegador.
Saída do snippet de código:
Aqui, não estou usando uma versão mais antiga do navegador.
Portanto, o código funcionará no meu navegador
P # 18) No fragmento de código a seguir, você pode prever a saída ou Se você receber um erro, explique o erro?
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();
Responda: Aqui no código fornecido acima, o valor da variável ‘first_num’ não será 1000.
Em JavaScript, não há içamento para inicialização de variável. A função ‘result ()’ escolherá a variável local ‘first_num’, como ela é declarada dentro da função. Uma vez que a variável é declarada após ser usada, o valor de ‘first_num’ é indefinido.
Saída do snippet de código:
Indefinido
P # 19) Qual é a diferença entre as palavras-chave ‘var’ e ‘let’?
Resposta: As diferenças são as seguintes:
Onde | deixei |
---|---|
A palavra-chave 'var' foi introduzida no código JavaScript desde o próprio estágio inicial. | A palavra-chave ‘let’ foi introduzida apenas em 2015. |
A palavra-chave 'Var' tem escopo de função. A variável definida com var está disponível em qualquer lugar dentro da função | Uma variável declarada com a palavra-chave ‘let’ tem um escopo apenas com naquele bloco. Então, vamos ter um Block Scope. |
A variável declarada com 'var' ser içada | A variável declarada com 'let' ser içada |
Q # 20) No fragmento de código a seguir, você pode prever a saída ou se ocorrer um erro; explique o erro?
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;
Responda:
Saída do snippet de código:
Primeiro Número : 1000
Nós vamos chegar 'Primeiro Número : 1000 ' como saída. Também há um erro de 'Erro de referência não detectado'.
No snippet de código, o escopo de ‘second_num’ está apenas dentro do bloco if (). Se um desenvolvedor tentar acessar o valor fora do bloco, ele receberá um 'Erro de referência não capturada'.
Erro de referência não detectado: second_num não está definido.
Q # 21) Qual é a diferença entre ‘==’ e ‘===’?
Responda: Ambos ‘==’ e ‘===’ são operadores de comparação.
Operador ‘==’ | Operador ‘===’ |
---|---|
É conhecido como ‘Operador de conversão de tipo’ | É conhecido como ‘Operador de Igualdade Estrita’ |
Ele compara o valor, não compara o tipo | Ele compara o valor e o tipo. |
Q # 22) Qual é a diferença entre ‘let’ e ‘const’?
Resposta: As diferenças são as seguintes:
deixei | const |
---|---|
usando 'let' podemos alterar o valor da variável qualquer número de vezes | usando ‘const’, após a primeira atribuição do valor, não podemos redefinir o valor novamente |
Considere o código { deixe first_num = 1; primeiro_num = 2; documento. escrever (primeiro_num); } Aqui, o código fornecerá uma saída, já que a alteração no valor de first_num é possível. | Considere o código { const second_num = 1; segundo_num = 2; documento. escrever (segundo_num); } Aqui, o código produzirá um erro, uma vez que o ‘segundo_num’ é atribuído com um segundo valor. |
P # 23) No seguinte trecho de código, você pode prever a saída ou Se você receber um erro; explique o erro?
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;
Responda: Consulte a Q # 21 antes de continuar a ler
Saída do snippet de código:
Primeiro número: 501
Também obteremos um erro durante a execução do código, pois estamos tentando alterar o valor de uma variável ‘const’.
Erro: TypeError não capturado: atribuição à variável constante.
Q # 24) Qual é a diferença entre ‘null’ e ‘undefined’?
Responda: Ambas as palavras-chave representam valores vazios .
As diferenças são:
- Em 'indefinido', vamos definir uma variável, mas não vamos atribuir um valor a essa variável. Por outro lado, em 'nulo' vamos definir uma variável e atribuir o valor 'nulo' à variável.
- tipo de (indefinido) e tipo de objeto (nulo).
Q # 25) Qual é a diferença entre 'declaração de função' e 'expressão de função'?
Responda: Isso pode ser explicado com um exemplo:
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);
Conforme mostrado no exemplo, add () é uma declaração de função e subtract () é uma expressão de função. A sintaxe da declaração da função é como uma função que é salva em uma variável.
As declarações de função são suspensas, mas as expressões de função não.
P # 26) O que são ‘settimeout ()’?
Responda: Será melhor explicado com um exemplo.
Considere o snippet de código
Console.log (‘First Line’); Console.log (‘Second Line’); Console.log (‘Third Line’);
Saída do snippet de código:
Primeira linha
Segunda linha
Terceira linha
Agora você introduz o método settimeout () e envolve o mesmo conjunto de código nele.
Settimeout(function() { Console.log (‘First Line’); },0); Console.log (‘Second Line’); Console.log (‘Third Line’);
Saída do snippet de código:
Segunda linha
Terceira linha
Primeira linha
Com a introdução de settimeout (), os processos se tornam assíncronos. As primeiras instruções a serem colocadas na pilha são Console.log (‘Segunda linha’) e Console.log (‘Terceira linha’), e elas serão executadas primeiro. Você precisa esperar até que tudo na pilha seja concluído primeiro.
Mesmo que '0' seja o período de tempo limite, isso não significa que será executado imediatamente.
P # 27) O que é um Closure e como você o usa?
Responda: Um fechamento é uma função interna. Ele pode acessar as variáveis externas de uma função. Em Closure, dentro de function_1 há outra function_2 que retorna o valor ‘A’ e function_1 também retorna um valor; diga 'B'.
Aqui, sum () é a função externa e add () é uma função interna, ela pode acessar todas as variáveis, incluindo ‘primeiro_num’, ‘segundo_num’ e ‘terceiro_num’. A função externa está chamando a função interna 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));
Saída do snippet de código:
O resultado é: 500
P # 28) No fragmento de código a seguir, você pode prever a saída ou Se ocorrer um erro; explique o erro?
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; }
Responda: As instruções de atribuição são consideradas da direita para a esquerda.
Saída do snippet de código:
x = 200
e: 200
com: 200
p: 200
q: 200
P # 29) Você pode dar um exemplo em que o trecho de código mostra a diferença entre os métodos test () e 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; }
Responda: Este é um exemplo dos métodos test () e exec (), consulte a pergunta nº: 5 para obter mais detalhes.
Saída do snippet de código:
Encontrou o padrão usando exec (): Como
Usando test (), o resultado é: verdadeiro
P # 30) Você pode dar um exemplo mostrando o içamento de JavaScript?
Responda:
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
Consulte a Q # 11 para obter mais detalhes.
Aqui, a variável 'num' é usada antes de declará-la. Mas o içamento de JavaScript permite isso.
Saída do snippet de código:
Aqui, as variáveis são usadas antes de declarar.
O valor da variável é 100
P # 31) Você pode dar um exemplo mostrando o uso da palavra-chave ‘depurador’ no código JavaScript?
Responda:
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;
Nota: O depurador deve ser habilitado para o navegador testar o código. Consulte a Ques No: 5 para mais detalhes
Este é um exemplo de palavra-chave de depuração (navegador usado: Chrome)
Saída do snippet de código:
Aqui, para testar o código, o depurador deve ser habilitado para o navegador,
durante a depuração, o código abaixo deve parar de ser executado antes de ir para a próxima linha.
Adicionando números…
Selecione ‘Retomar execução do Script’ para continuar:
Soma dos números: 1500
Q # 32) No fragmento de código a seguir, você pode prever a saída ou Se você receber um erro; explique o erro?
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 '; }
Responda: Considere o código
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
Saída do snippet de código:
A comparação retornará 'verdadeiro' por operador de conversão de tipo
P # 33) Java e JavaScript são semelhantes? Se não, qual é a diferença entre Java e JavaScript?
Responda:
Sim. Não | Java | JavaScript |
---|---|---|
1 | Java é uma linguagem de programação de propósito geral. | JavaScript é uma linguagem de script interpretada de alto nível. |
dois | Java é baseado em conceitos de Programação Orientada a Objetos (OOPS). | JavaScript é tanto um script orientado a objetos quanto funcional. |
3 | É executado em uma Java Virtual Machine (JVM) ou navegador. | Funciona apenas em um navegador. |
4 | O código Java precisa ser compilado como um arquivo de classe Java. | JavaScript não tem etapa de compilação. Em vez disso, um interpretador no navegador lê o código JavaScript, interpreta cada linha e a executa. |
Portanto, em resumo, essas línguas não estão de forma alguma vinculadas ou dependentes umas das outras.
Q # 34) Quais tipos de dados são suportados pelo JavaScript?
Responda: JavaScript suporta o seguinte Sete tipos de dados primitivos e Objeto :
(i) Booleano: Este é um tipo de dados lógico que pode ter apenas dois valores, ou seja, verdadeiro ou falso. Quando verificamos o tipo de dados de ‘verdadeiro’ ou ‘falso’ usando o operador typeof, ele retorna um valor booleano.
Por exemplo, typeof (true) // retorna booleano
Os valores booleanos podem ser usados para comparar duas variáveis.
Por exemplo,
var x = 2; var y = 3; x==y //returns false
O valor booleano também pode ser usado para verificar uma condição
Por exemplo,
var x = 2; var y = 3; If(xSe a condição acima 'x Uma variável booleana pode ser criada usando a função Boolean ().
var myvar = ‘Hi'; Boolean(myvar); // This returns true because the 'myvar' value exists
Além disso, o objeto booleano pode ser criado usando o novo operador da seguinte maneira:
var myobj = new Boolean(true);
(Ii) Nulo :Este é um tipo de dados representado por apenas um valor, o próprio ‘nulo’. Um valor nulo significa nenhum valor.
Por exemplo,
var x = null; console.log(x);// This returns null
Se verificarmos o tipo de dados de a usando o operador typeof, obtemos:
typeof(x); // This returns object. type of a null value is an object, not null.
(iii) Indefinido: Este tipo de dados significa uma variável que não está definida. A variável é declarada, mas não contém nenhum valor.
Por exemplo,
var x; console.log(x); // This returns undefined x=10;//Assign value to x console.log(x); // This returns 10
A variável 'a' foi declarada, mas ainda não foi atribuída um valor.
Podemos atribuir um valor a:
(iv) Número: Este tipo de dados pode ser um valor de ponto flutuante, um número inteiro, um valor exponencial, um ‘NaN’ ou um ‘Infinito’.
Por exemplo,
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
Literal de número pode ser criado usando a função Number ():
var x = Number(10); console.log(x);// This returns 10
Além disso, o objeto de número pode ser criado usando o operador ‘novo’ da seguinte maneira:
var x= new Number(10); console.log(x); // This returns 10
(v) BigInt: Este é um primitivo numérico que pode representar inteiros com precisão arbitrária. BigInt é criado acrescentando n ao final de um inteiro
Por exemplo,
const x = 15n;
O número pode ser convertido em BigInt com a função BigInt (número).
const x = 251; const y = BigInt(x); y === 251n // returns true
(vi) String: Este tipo de dados é usado para representar dados textuais.
Por exemplo,
var strVar1 = “Hi,how are you?”; var strVar2 = ‘Hi,how are you?’;
Uma nova string também pode ser criada usando a função String () da seguinte maneira:
var strVar3 = String(‘Hi,how are you?’); // This creates a string literal with value ‘Hi,how are you?’
A função String () também é usada para converter um valor não string em string.
String(150); // This statement will create a string ‘150’
A string também pode ser criada usando 'novo' operador
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?’
As strings de JavaScript são imutáveis, ou seja, uma vez que uma string é criada, ela não pode ser modificada. Mas outra string pode ser criada usando uma operação na string original.
Por exemplo,
- Ao concatenar duas strings usando o operador de concatenação (+) ou String.concat () .
- Obtendo substring usando String.substr () .
(vii) Símbolo: Este é um valor primitivo único e imutável e usado como a chave de uma propriedade Object. Símbolos são novos para JavaScript no ECMAScript 2015
PARA Símbolo valor representa um identificador exclusivo.
Por exemplo,
var symVar1 = Symbol('Symbol1'); let symVar2 = Symbol('Symbol1'); console.log(symVar1 === symVar2); // This returns 'false'.
Assim, muitos símbolos são criados com a mesma descrição, mas com valores diferentes.
Os símbolos não podem ser convertidos automaticamente.
Por exemplo,
var symVar1 = Symbol('Symbol1'); alert(symVar1); // This gives TypeError: Cannot convert a Symbol value to a string
Isso pode ser trabalhado usando para sequenciar () do seguinte modo:
alert(symVar1.toString()); // Symbol(symVar1), this works
Tipo de dados do objeto
Um objeto é um valor na memória referenciado por um identificador.
Objeto refere-se a uma estrutura de dados com dados e instruções para trabalhar com os dados. Os objetos às vezes se referem a coisas do mundo real, Por exemplo, um funcionário ou um carro.
Por exemplo,
Em objetos JavaScript, os valores são escritos como nome: valor pares como abaixo:
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' };
O nome: valores pares são chamados propriedades . Por exemplo, 'Tipo' é propriedade e 'BMW' é o valor da propriedade.
Os valores das propriedades são acessados usando objectName.propertyName
ou objectName (“propertyName”)
Por exemplo, car1.type ou car1 (“type”), retorna ‘BMW’
O valor do objeto car1 pode ser alterado da seguinte forma:
car1.type = “Audi”;
Agora,
console.log(car1) ;//This will return {type:'Audi', model:” The BMW X5“ , color:'white'};
P # 35) O JavaScript é uma linguagem que diferencia maiúsculas de minúsculas?
Responda: Sim, JavaScript é uma linguagem que diferencia maiúsculas de minúsculas. O significado disso são palavras-chave do idioma, variáveis, nomes de funções e quaisquer outros identificadores que sempre devem ser digitados com letras maiúsculas ou minúsculas consistentes.
Por exemplo, myVar é uma variável diferente de myvar.
Q # 36) Como determinar a que tipo de dados um operando pertence?
Responda: O tipo de dados do operando pode ser encontrado usando o operador typeof
Ele retorna uma string que indica o tipo do operando.
Sintaxe : tipo de operando
typeof (operando)
O operando pode ser qualquer variável, objeto ou função.
Por exemplo,
console.log (typeof 10);// expected output: 'number' console.log (typeof 'hello');// expected output: 'string' console.log (typeof);//expected output: //'undefined';
P # 37) Por que JavaScript é chamado de linguagem fracamente tipada ou dinâmica?
Responda: JavaScript é chamado de linguagem fracamente tipada ou dinâmica porque as variáveis JavaScript não estão diretamente associadas a nenhum tipo de valor e qualquer variável pode ser atribuída e reatribuída com valores de todos os tipos:
Por exemplo,
var myvar = ‘abc’; // myvar is string myvar =true; // myvar is now a boolean myvar = 10; // myvar is now a number
Q # 38) O que é nulo em JavaScript?
Responda: O valor null representa a ausência intencional de qualquer valor de objeto.
Este é um dos valores primitivos do JavaScript.
Por exemplo,
Var myvar = null; console.log(myvar); //This will print null
Q # 39) O que é NaN?
Resposta: NaN é uma propriedade do objeto global que representa Não-A-Número.
Por exemplo,
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) Como dividir uma string em itens do array?
Responda: Uma string pode ser dividida em uma matriz usando o método JavaScript split (). Este método usa um único parâmetro, o caractere no qual você deseja separar a string, e retorna as substrings entre o separador como itens em uma matriz.
Por exemplo,
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) Como juntar itens do array em uma string?
Responda: Os itens da matriz podem ser unidos usando o método join ().
Por exemplo,
var myDaysArray= ('Sunday','Monday','Tuesday',”Wednesday”);
Os itens da matriz são unidos em uma string da seguinte maneira:
myDaysString= myDaysArray.join(','); console.log(myDaysString);//output is joined string i.e.//Sunday,Monday,Tuesday,Wednesday
Q # 42) Que tipo de erros o JavaScript tem?
Responda: A seguir estão os 2 tipos de erro:
- Erros de sintaxe: Estes são erros ortográficos ou ortográficos no código que fazem com que o programa não seja executado ou pare de funcionar no meio. Normalmente, mensagens de erro também são fornecidas.
- Erros lógicos: Esses são erros quando a sintaxe está correta, mas a lógica ou o código são imprecisos. Aqui, o programa é executado com sucesso sem erros. Mas os resultados de saída estão incorretos. Muitas vezes, são mais difíceis de corrigir do que os erros de sintaxe, pois esses programas não fornecem nenhuma mensagem de erro para erros de lógica.
Q # 43) Como lidar com um grande número de escolhas para uma condição de forma eficaz maneira?
Responda: Isso é feito usando instruções switch:
Por exemplo,
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) O que é um operador ternário?
Responda: O ternário ou condicional é um operador usado para fazer uma escolha rápida entre duas opções com base em um teste verdadeiro ou falso.
Isso pode ser usado como um substituto para o bloco if ... else quando houver duas opções escolhidas entre uma condição verdadeira / falsa.
Por exemplo,
if (some condition) result = ‘result 1’; else result = ‘result 2’;
O mesmo código pode ser escrito usando um operador ternário em uma única instrução da seguinte maneira:
resultado = (condição)? ‘resultado 1’: ‘resultado 2’;
Q # 45) Suponha que haja um objeto chamado pessoa
const person = {
nome : {
primeiro: ‘Bob’,
último: ‘Smith’
}
};
Qual das alternativas a seguir é a maneira correta de acessar a propriedade do objeto 'primeiro'?
- pessoa.nome.first,ou
- pessoa (‘nome’) (‘primeiro’)?
Responda: Ambos são caminhos corretos. ou seja, usando pontos como pessoa.nome.first ou usando notação de colchetes como pessoa (‘nome’) (‘primeiro’)
Q # 46) O que é “isto”?
Responda: A palavra-chave ‘this’ se refere ao objeto atual no qual o código está sendo escrito.
Isso é para garantir que os valores corretos sejam usados quando o contexto de um membro muda
Por exemplo, existem duas instâncias diferentes de um pessoa ter nomes diferentes e é necessário imprimir seu próprio nome no alerta da seguinte forma:
const person1 = { name: 'Tom', greeting: function() { alert('Good Morning! I am ' + this.name + '.'); } }
Aqui, a saída é Bom Dia! Eu sou Tom'
const person2 = { name: 'Jerry', greeting: function() { alert('Good Morning! I am ' + this.name + '.'); } }
Aqui, a saída é Bom Dia! Eu sou ‘Jerry’
P # 47) O que são funções anônimas?
Responda: Funções anônimas são funções sem nenhum nome e não farão nada por conta própria. Geralmente são usados junto com um manipulador de eventos.
Por exemplo, no código a seguir, código de função anônima, ou seja, alerta (‘Olá’); seria executado ao clicar no botão associado:
var myButton = document.querySelector('button'); myButton.onclick = function() { alert('Hi'); }
A função anônima também pode ser atribuída ao valor de uma variável.
Por exemplo,
var myVar = function() { alert('Hi'); }
Esta função pode ser chamada usando:
myVar();
Conclusão
É melhor armazenar os códigos JavaScript, CSS e HTML como arquivos 'js' externos separados. Separar a parte de codificação e a parte HTML tornará mais fácil ler e trabalhar com eles. Vários desenvolvedores também acham esse método mais fácil de trabalhar simultaneamente.
O código JavaScript é fácil de manter. O mesmo conjunto de códigos JavaScript pode ser usado em várias páginas. Se usarmos códigos JavaScript externos e precisarmos alterar o código, precisamos alterá-lo em um só lugar. Para que possamos reutilizar o código e mantê-lo de uma forma muito mais fácil.
Leitura sugerida = >> TypeScript vs JavaScript
Código JavaScript tem melhor desempenho. Os arquivos JavaScript externos aumentarão a velocidade de carregamento da página, pois serão armazenados em cache pelo navegador.
Espero que as perguntas e respostas da entrevista sobre JavaScript tenham sido úteis. Pratique o máximo de perguntas possível e seja confiante.
Leitura recomendada
- Perguntas e respostas da entrevista
- As 32 melhores perguntas e respostas da entrevista de datastage
- Perguntas e respostas da entrevista de teste de ETL
- Mais de 20 perguntas e respostas para entrevistas em .NET
- Algumas perguntas e respostas complicadas de testes manuais
- 25 melhores perguntas e respostas da entrevista para testes ágeis
- Perguntas da entrevista de Spock com respostas (mais populares)
- Algumas perguntas interessantes da entrevista de teste de software