JavaScript метод String.prototype.charAt()

Определение и применение

JavaScript метод charAt() возвращает символ по заданному индексу внутри строки. Индекс первого символа равен нулю, а последнего рассчитывается как значение длины строки - 1 (length - 1).

Если метод используется без указания индекса элемента (без параметра), то используется значение по умолчанию равное нулю (возвращает первый символ в строке).

Индексы и длины здесь измеряются в кодовых единицах UTF-16. Например, "😀".length равно 2; разрезание по индексу может разделить суррогатную пару. Исходная строка не изменяется.

Поддержка браузерами

Спецификация: ecma262

Поддерживается во всех основных браузерах с 2015 года.

Показать браузеры
Совместимостьjavascript.builtins.String.charAt
ВозможностьКомпьютерыМобильные
ChromeEdgeFirefoxOperaSafariChrome AndroidFirefox for AndroidOpera AndroidSafari on iOSSamsung BrowserWebView AndroidWebView on iOS
charAt✓1✓12✓1✓3✓1✓18✓4✓10.1✓1✓1.0✓4.4✓1

поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31

JavaScript синтаксис

JavaScript
string.charAt(); // возвращается первый символ в строке
string.charAt( index );

Спецификация

ECMAScript: String.prototype.charAt()

Значения параметров

index — индекс кодовой единицы UTF-16, по умолчанию 0. Дробная часть отбрасывается. Вне диапазона возвращается пустая строка.

Примеры, попробуйте сами

В примере «Индексы и выход за границы» показан результат вызова метода.

Индексы и выход за границы

Измените исходную строку или аргумент метода и сравните результат после запуска.

index.html
HTML
<!doctype html>
<html lang="ru">
  <head>
    <meta charset="UTF-8" />
    <title>Индексы и выход за границы</title>
  </head>
  <body>
    <p>Результат выполнения выводится в консоль.</p>
  </body>
</html>
main.js
JavaScript
var x = 'string' // инициализируем переменную, содержащую строку

console.log(x.charAt()) // возвращаемое значение s (первый символ в строке)
console.log(x.charAt(1)) // возвращаемое значение t
console.log(x.charAt(3)) // возвращаемое i
console.log(x.charAt(-1)) // возвращаемое значение "" (пустая строка)
console.log(x.charAt(10)) // возвращаемое значение "" (пустая строка)

В следующем примере мы рассмотрим как с помощью метода charAt() подсчитать количество однотипных символов в определенной строке.

В примере «Подсчёт заданной кодовой единицы» показан результат вызова метода.

Подсчёт заданной кодовой единицы

Измените исходную строку или аргумент метода и сравните результат после запуска.

index.html
HTML
<!doctype html>
<html lang="ru">
  <head>
    <meta charset="UTF-8" />
    <title>Подсчёт заданной кодовой единицы</title>
  </head>
  <body>
    <p>Результат выполнения выводится в консоль.</p>
  </body>
</html>
main.js
JavaScript
var count = 0 // инициализируем переменную, которая будет выступать в роли счетчика

var charCount = function (char, someString) {
    for (var i = 0; i < someString.length; i++) {
        someString.charAt(i) == char ? count++ : false //проверяем содержится переданный символ по данному индексу, если да то инкрементируем переменную
    }
    console.log(count) // выводим значение переменной
    count = 0 // присваиваем переменной значение 0
}
charCount('x', 'xxaxx') // результат 4