Em JavaScript, uma variável pode armazenar diferentes tipos ...
Em JavaScript, uma variável pode armazenar diferentes tipos de dado e também ter seu tipo de dado modificado durante a execução do código.
Nesse contexto, considere a expressão a seguir.
var x = "5" + 7;
Para retornar o valor da variável x em JavaScript, utiliza-se a função x.valueOf(). Já para retornar seu tipo, utiliza-se o operador typeof x.
Considerando a expressão dada, a chamada à função x.valueOf()
e ao operador typeof x retornam, respectivamente,
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: A - 57, string.
Para resolver essa questão, é necessário entender como o JavaScript trata operações que envolvem diferentes tipos de dados. No JavaScript, quando você usa o operador de adição (+) com uma string e um número, o número é convertido para string e os dois são concatenados como se fossem texto. Portanto, ao realizar a operação var x = "5" + 7;
, temos uma concatenação entre a string "5" e a conversão do número 7 em string, resultando em "57".
A função x.valueOf()
é utilizada para retornar o valor primitivo de um objeto em JavaScript. Nesse caso, como 'x' é uma string que contém "57", a chamada x.valueOf()
também irá retornar "57".
Quanto ao operador typeof
, ele é usado para determinar o tipo de uma variável ou expressão. Ao utilizar typeof x
, o retorno será a string "string", porque o valor de 'x' é uma string.
Assim, o valor retornado por x.valueOf()
é "57" e o tipo da variável 'x' é string, justificando a alternativa A como a correta.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
isso aí pessoal, todo mundo acertando essa kkkk
Javascript é uma liguagem de "tipagem fraca", aceita operações entre tipos diferentes, fazendo as devidas conversões. No caso da operação de adição (+) entre inteiro e string, prevalece o tipo "string"; lembrando que + entre strings corresponde à concatenação.
Por: @Somente Only na Q567868
js: string + numero = string
php: string + numero = numero
a-
<!DOCTYPE html>
<html>
<body>
<p>Click the button to return the primitive value of the string object.</p>
<button onclick="myFunction()">Try it</button>
<p id="lectern"></p>
<script>
function myFunction() {
var x = "5" + 7;
var res = x.valueOf();
document.getElementById("lectern").innerHTML = res;
}
</script>
</body>
</html>
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo