Рассмотрим эту строку:
var s = "A\0Z";
Его длина равна 3, как указано s.length
. Используя console.log
, вы можете видеть, что строка не вырезана, а s[1]
- ""
и s.charCodeAt(1)
- 0
.
Когда вы предупреждаете об этом в Firefox, вы увидите AZ
. Когда вы сообщаете об этом в Chrome/Linux с помощью alert(s)
, \0
завершает строку, и вы видите A
.
Мой вопрос: какие должны браузеры и механизмы Javascript? Является ли Chrome ошибкой здесь? Есть ли документ, определяющий, что должно произойти?
Поскольку это вопрос о стандарте, необходима ссылка.