Analise o código abaixo retirado de uma páginaHTML5.< !DO...
Analise o código abaixo retirado de uma páginaHTML5.
< html >
< body >
< script >
x => (a+3);
document.write(typeof f);
< /script >
< /body >
< /html >
O resultado do trecho de código do JavaScript será:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: D - Undefined.
Essa questão exige um entendimento de como o JavaScript trata variáveis e funções, bem como o uso da função typeof, que retorna uma string indicando o tipo de operando sem avaliação.
No código apresentado, temos uma expressão lambda x => (a+3), que por si só já é uma função. No entanto, essa função não foi atribuída a nenhuma variável ou constante. Em seguida, o código tenta imprimir o tipo de f usando document.write(typeof f). A variável f não foi declarada nem definida em qualquer lugar no código fornecido, portanto, não tem um valor atribuído.
Quando o JavaScript encontra uma variável que não foi declarada, ele retorna undefined. Isso porque undefined é o tipo de uma variável que não foi inicializada. O fato de a expressão lambda existir no código não altera o resultado, pois ela não foi atribuída a f, nem f foi definida como uma função ou qualquer outro valor.
Portanto, o typeof f retorna "undefined" porque f não existe no contexto do código apresentado. É importante notar que null, float, function e number são tipos que seriam retornados se f tivesse sido definida apropriadamente como um objeto nulo, um número de ponto flutuante, uma função ou um número, respectivamente.
Assim, ao se deparar com questões que envolvem o uso de typeof, é crucial verificar se a variável ou função em questão foi devidamente declarada e inicializada no escopo do código apresentado. Isso ajudará a determinar corretamente o tipo de dado esperado pela função typeof.
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
Em nenhum momento foi declarado a variável f.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo