startsWith() в JavaScript

startsWith() проверяет, начинается ли строка с указанного текста.

let url = 'https://learnjs.ru';

console.log(url.startsWith('https'));

Результат:

true

Строка начинается с ‘https’, поэтому метод вернул true.

Что такое startsWith()

startsWith() - это метод строки. Он возвращает true или false.

let fileName = 'photo.png';

console.log(fileName.startsWith('photo'));
console.log(fileName.startsWith('video'));

Результат:

true
false

Метод проверяет именно начало строки, а не любое место внутри нее.

Синтаксис

Основная запись выглядит так:

string.startsWith(searchString);

searchString - текст, с которого должна начинаться строка.

let text = 'JavaScript';

console.log(text.startsWith('Java'));

Результат:

true

Проверка начала строки

startsWith() удобно использовать, когда важно именно начало значения.

let phone = '+79991234567';

if (phone.startsWith('+7')) {
  console.log('Российский номер');
}

Результат:

Российский номер

Еще пример - проверка пути.

let path = '/lessons/startswith/';

console.log(path.startsWith('/lessons/'));

Результат:

true

Регистр имеет значение

startsWith() учитывает регистр букв.

let text = 'JavaScript';

console.log(text.startsWith('Java'));
console.log(text.startsWith('java'));

Результат:

true
false

Если нужно проверить начало строки без учета регистра, можно привести строки к одному регистру.

let text = 'JavaScript';
let search = 'java';

console.log(text.toLowerCase().startsWith(search.toLowerCase()));

Результат:

true

Проверка с позиции

У startsWith() есть второй аргумент. Он указывает позицию, с которой нужно начать проверку.

string.startsWith(searchString, position);

Например, проверим, начинается ли часть строки с индекса 4 со слова ‘Script’.

let text = 'JavaScript';

console.log(text.startsWith('Script', 4));

Результат:

true

С индекса 4 действительно начинается текст ‘Script’.

Важно: второй аргумент не ищет текст по всей строке. Он только сдвигает место, откуда начинается проверка.

let text = 'JavaScript';

console.log(text.startsWith('Script', 2));

Результат:

false

startsWith() и includes()

includes() проверяет, есть ли текст где угодно внутри строки.

let text = 'JavaScript';

console.log(text.includes('Script'));

Результат:

true

startsWith() проверяет только начало.

let text = 'JavaScript';

console.log(text.startsWith('Script'));

Результат:

false

Если важно именно начало строки, лучше использовать startsWith().

Итого

startsWith() проверяет, начинается ли строка с указанного текста.

  • Метод возвращает true или false.
  • Проверяется начало строки, а не вся строка целиком.
  • Регистр букв влияет на результат.
  • Вторым аргументом можно указать позицию начала проверки.
  • Если нужно искать текст в любом месте строки, подойдет includes().