Julgue o próximo item a respeito de Java Script. A função gl...
A função global isNaN() do Java Script permite determinar se o valor é um número natural ou uma string.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: E - errado.
Vamos desmistificar o que a função isNaN() realmente faz no contexto de JavaScript. A função isNaN(), que é um acrônimo para "is Not a Number", tem como objetivo verificar se um determinado valor não é um número.
Quando utilizamos a função isNaN(), estamos perguntando ao JavaScript: "Esse valor que estou te passando, por acaso é um valor que você não reconhece como um número?". Se o valor for, por exemplo, uma string que não pode ser convertida em um número, ou se for um valor indefinido ou NaN (Not a Number), a função retornará true, indicando que de fato, o valor não é um número.
Entretanto, é importante notar que a função não está fazendo uma distinção entre números naturais (inteiros positivos) e outros tipos de números, como inteiros negativos, decimais, etc. Ela simplesmente verifica se o valor pode ser interpretado como um número em JavaScript, independente de sua categoria.
A afirmativa do enunciado pode induzir ao erro de acreditar que a função isNaN() pode ser usada para distinguir entre números naturais e strings, o que não é o caso. Portanto, a alternativa correta é E, pois a função isNaN() não serve para determinar se o valor é um número natural ou uma string, mas sim para verificar se o valor não é um número no contexto do JavaScript.
Espero que esta explicação tenha esclarecido a questão para você e ajudado a entender melhor o funcionamento da função isNaN() em JavaScript. Fique à vontade para fazer mais perguntas se ainda tiver dúvidas!
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
Errado
Essa pergunta é muito capciosa, pois se pensar que NaN é (Not a Number), e se se for um numero será FALSE e se for texto será TRUE. Pode ser analisado como CERTO. Mas o correto é Errado, pois é uma validação se o conteúdo da variável age somente sobre as Strings.
Discordo do colega Romildo quanto ao motivo porque a questão está errada. O que ocorre é que a função isNaN() - "isNotANumber" retorna FALSE se for passado um número como parâmetro - que pode ser inteiro, negativo ou até fracionário. E retorna TRUE para qualquer outro tipo não numérico: data, string ou qualquer outra coisa não numérica. Então, essa função não pode determinar precisamente se trata-se de uma string e por isso a questão peca ao afirmar que a função permite determinar se o valor é uma string. Pois, ela não permite!
Ver detalhes do comando isNaN() aqui: http://www.w3schools.com/jsref/jsref_isnan.asp.
Espero ter ajudado!
The isNaN() function determines whether a value is an illegal number (Not-a-Number).
The isNaN() function determines whether a value is an illegal number (Not-a-Number).
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo