JavaScript: всегда ли мы могли индексировать строку, как массив?
Мы всегда думали, что если вы хотите получить доступ к n-ому символу в строкеstr
тогда вы должны сделать что-то вродеstr.charAt(n)
, Сегодня я делал небольшую тестовую страницу и по ошибке зашел на нееstr[n]
и, к моему удивлению, он вернул мне n-й символ строки. Я подбросил эту маленькую специально созданную страницу, чтобы продемонстрировать это неожиданное (для меня) поведение:
var str = "ABCDEFGH";
if (str[4] === str.charAt(4)) alert("strings can be indexed directly as if they're arrays");
var str2 = new String("ABCDEFGH");
if (str2[4] === str2.charAt(4)) alert("even if they're declared as object type String");
Это не былоЭто всегда так, правда?