Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   charAt vs charCodeAt (https://javascript.ru/forum/misc/63184-charat-vs-charcodeat.html)

Яростный Меч 22.05.2016 19:31

charAt vs charCodeAt
 
Всем здрассте.

Если возникнет необходимость посимвольно обработать строку, то лучше использовать charCodeAt? Вроде бы charAt создает новую строку, это больше накладных расходов, чем для числа. Или теперь компиляторы умеют всё оптимизировать как надо?

рони 22.05.2016 19:56

Яростный Меч, можно ещё по индексу str[index], не знаю правда быстрее это или нет.

Яростный Меч 22.05.2016 20:05

рони,
это тот же charAt, с возвратом строки

Rise 22.05.2016 22:19

Яростный Меч, не думаю что есть существенная разница
function charCodeAt(s) {
	for (var t, i = s.length; i--; t = s.charCodeAt(i));
}
function charAt(s) {
	for (var t, i = s.length; i--; t = s.charAt(i));
}
function asArray(s) {
	for (var t, i = s.length; i--; t = s[i]);
}
function test(f) {
	for (var i = 100, s = new Array(100000).join('qwertyuiopasdfghjklzxcvbnm'); i--; f(s));
}

console.time('charCodeAt');
test(charCodeAt);
console.timeEnd('charCodeAt');

console.time('charAt');
test(charAt);
console.timeEnd('charAt');

console.time('asArray');
test(asArray);
console.timeEnd('asArray');


Часовой пояс GMT +3, время: 15:15.