Если весь ваш сценарий не основан на необходимости быстрого манипулирования строками, я бы не стал беспокоиться о производительности.Я бы использовал charAt()
на том основании, что он читабелен и является наиболее конкретным инструментом для работы, предоставляемой языком.Кроме того, substr()
не является строго стандартным, и хотя вряд ли какая-либо новая реализация ECMAScript пропустит его, это может произойти.Основанные на стандартах альтернативы str.charAt(0)
: str.substring(0, 1)
и str.slice(0, 1)
, а для реализаций ECMAScript 5 str[0]
.