Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá a todos,
sou novo na área de javascript e acredito que esta seja a minha primeira postagem nesta seção.
Baum, eu estou estudando JavaScript utilizando como base o que parece ser uma monografia do Filipe Del Nero Grillo. Em sua apostila, ele escreveu o seguinte exemplo:
var arr = ['oi', 'olá'];
function lerarr(indice)
{
if (!indice) throw Error;
else window.alert(arr[indice]);
}
try
{
lerarr(0);
}
catch(e)
{
window.alert("Oops! no soup for you!");
}
finally
{
document.write("Ocorreu um erro");
}
e durante a execução cai no catch se eu passar 0 (zero) como parametro para lerarr(). Minha dúvida é a seguinte: Zero é equivalente a null? e quais situações?Bom, e como fazer para acessar o índice 0 do array usando aquela função? se eu passar como string irá voltar 1. O JavaScript tem typecasting?
Nesse caso não é possível acessar o índice 0 pela função. Utilizá-la com arrays do Javascript realmente não faz muito sentido, já que eles começam em 0.
Mas, e sobre o typecast? JavaScript permite?
permite typecast
Não, zero não é equivalente a null, mas nesse caso o a função lerarr também vai gerar uma exceção se null for passado.
Isso ocorre porque o ! (not) é operador booleano, então qualquer valor passado será convertido implicitamente para o tipo boolean (isto é, aceita apenas true ou false). A conversão ocorre da seguinte forma:
Sendo assim, se você passar "", 0, null, ou uma variável indefinida, a função lançará uma exceção.