Considerando o código apresentado a seguir, na linguagem Ja...

Próximas questões
Com base no mesmo assunto
Q625014 Programação

Considerando o código apresentado a seguir, na linguagem JavaScript (Ecma-262): 


var x = [1,2,3];

function y(algo){

'use strict'

console.log('essa variavel é', typeof algo);

}

y(x); 


O resultado esperado de sua execução é: 

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: E - Essa variável é object.

A questão avalia o conhecimento do candidato sobre tipos de dados em JavaScript, mais especificamente, sobre como arrays são classificados pela função typeof. Em JavaScript, a função typeof é utilizada para determinar o tipo de uma variável ou expressão. No entanto, quando usamos typeof com um array, que é uma estrutura de dados especial em JavaScript, o retorno é "object", e não "array" como algumas pessoas podem intuitivamente esperar.

Na linguagem JavaScript, arrays são tecnicamente objetos especializados que possuem propriedades e métodos adicionais que permitem trabalhar com coleções de dados de forma sequencial. Portanto, mesmo sendo um tipo de dado com características próprias, não possuem um tipo de retorno específico do typeof como "array".

Para as outras alternativas, temos:

  • A - Essa variável é desconhecida. Incorreto, pois "desconhecida" não é um tipo retornado por typeof.
  • B - Essa variável é undefined. Incorreto, pois a variável x foi definida como um array antes da chamada da função y.
  • C - Essa variável é numbers. Incorreto, pois "numbers" não é um tipo retornado por typeof; para números, o retorno seria "number" (sem o "s"), e além disso, o tipo é retornado para valores numéricos individuais, não para arrays de números.
  • D - Essa variável é array. Incorreto, conforme explicado anteriormente, embora a variável x seja um array, o retorno do typeof será "object".

Portanto, ao executar a função y(x) com x sendo um array, o console exibirá "essa variável é object", o que torna a alternativa E 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

Pegadinha maligna: The typeof operator returns "object" for arrays because in JavaScript arrays are objects.

 

FONTE: http://www.w3schools.com/js/js_datatypes.asp

Pegadinha do mal

Caí bonito.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo