String.prototype.startsWith()

Метод startsWith() визначає, чи починається рядок з символів заданого рядка, повертаючи, відповідно, true чи false.

Синтаксис

str.startsWith(searchString[, position])

Параметри

searchString
Символи, які шукатимуться на початку рядка.
position Optional
Позиція у цьому рядку, з якої починатиметься пошук рядка searchString. За замовчуванням 0.

Значення, що повертається

true, якщо надані символи знайдені на початку рядка; інакше, false.

Опис

Цей метод дозволяє визначити, починається чи ні рядок з символів іншого рядка. Цей метод чутливий до регістру.

Приклади

Використання startsWith()

let str = 'Питання в тому: бути чи не бути.'

console.log(str.startsWith('Питання'))   // true
console.log(str.startsWith('бути'))      // false
console.log(str.startsWith('бути', 16))  // true

Поліфіл

Цей метод був доданий у специфікації ECMAScript 2015 і може не бути доступним в усіх реалізаціях JavaScript. Однак, ви можете створити поліфіл String.prototype.startsWith() за допомогою наступного коду:

if (!String.prototype.startsWith) {
    Object.defineProperty(String.prototype, 'startsWith', {
        value: function(search, rawPos) {
            var pos = rawPos > 0 ? rawPos|0 : 0;
            return this.substring(pos, pos + search.length) === search;
        }
    });
}

Більш надійний (у повній відповідності до специфікації ES2015), але менш швидкий та компактний поліфіл доступний на GitHub за авторством Mathias Bynens.

Специфікації

Специфікація
ECMAScript (ECMA-262)
The definition of 'String.prototype.startsWith' in that specification.

Сумісність з веб-переглядачами

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
startsWithChrome Full support 41Edge Full support 12Firefox Full support 17IE No support NoOpera Full support 28Safari Full support 9WebView Android Full support ≤37Chrome Android Full support 36Firefox Android Full support 17Opera Android Full support 24Safari iOS Full support 9Samsung Internet Android Full support 3.0nodejs Full support 4.0.0
Full support 4.0.0
Full support 0.12
Disabled
Disabled From version 0.12: this feature is behind the --harmony runtime flag.

Legend

Full support  
Full support
No support  
No support
User must explicitly enable this feature.
User must explicitly enable this feature.

Див. також