Différence entre str et str.charAt (0)

Quelle est la différence entre str[0] et str.charAt(0) ? J'adhère toujours le caractère spécifique en tapant simplement str[i] , où i est l'index du caractère auquel je souhaite accéder (compté à partir de 0), mais la semaine dernière j'ai eu une bonne vue d'ensemble du code JS open source et dans chaque projet I Vu, les gens utilisent la méthode charAt .

Y a-t-il une différence entre ces deux façons?

[] Est une manière plus primitive d'accéder à toutes sortes de tableaux.

charAt() est spécifique aux chaînes.

Vous pouvez accéder à l'index de n'importe quel tableau en utilisant [] , mais vous ne pouvez utiliser que charAt() sur une chaîne.

Mais quand il s'agit de la chaîne seule, les deux sont identiques.

Mais vous devez utiliser charAt() parce que, il est bien pris en charge dans tous les principaux navigateurs, alors que la notation de bracket retournera undefined dans IE7

En outre, la notation de bracket est simplement accessible, tandis que charAt() fait une validation et ne retourne pas undefined , mais renverra une chaîne vide ""

Ce

 ""[-4] // undefined "".charAt(-4) // "" 

Vous pouvez vous assurer que le résultat serait une chaîne.