JavaScript – Uma String é um Array de Caracteres?
Postado por: Jeronimo Fagundes emAlgo bastante comum em qualquer linguagem de programação é querer acessar um determinado caracter de uma string. Geralmente fazemos isso tratando a string como se fosse um array, ou seja, sendo str a nossa variável que contém a string, bastaria fazer um str[4] pra acessar o quinto caracter da string, por exemplo.
Em JavaScript não deveria ser diferente. Você faz isso, testa no seu Firefox cheio de extensões (ou até mesmo em safe-mode), e tudo funciona. O seu cliente abre a página, e nos primeiros dez segundos ele diz que não funciona. Provavelmente seu cliente está usando o Internet Explorer.
Acessar um caracter específico de uma string em JavaScript como se fosse um array não funciona no IE. Por exemplo, se temos isso:
var str = "abcdef"; alert(str[4]);
No Firefox será alertado corretamente a letra “e”. No Internet Explorer, será alertado “undefined”. Assim, o recomendado é acessar um caracter específico com a função charAt, da classe String. Desse modo, o código ficaria assim:
var str = "abcdef"; alert(str.charAt(4));
E isso funciona em ambos os browsers.














internet explorer! umas das maiores merdas que já foram criadas, é quando se copia as coisas dos outros sempre da alguma coisa errada, assim como o windows não presta o IE não seria uma exceção, o uso de hacks é a unica alternativa para que o trabalhado funcione perfeitamente em todos os “navegadores”, muito bom o post! Parabéns…abraço..
Excelente post! Nem sabia que um caractere de uma string podia ser acessado como elementos de array. =D
Porém o [b]charAt()[/b] não é errado de se usar – não que você tenha dito isso -, só que da outra maneira é mais curta de se fazer.
Abraços.