startsWith() メソッドは文字列が引数で指定された文字列で始まるかを判定して truefalse を返します。

構文

str.startsWith(searchString[, position])

引数

searchString
文字列の始端と一致するか判定される文字列
position Optional
オプション。searchString を検索し始める参照文字列の位置。デフォルトでは 0 です。

戻り値

文字列が指定された文字列で始まる場合は true、それ以外の場合は false

説明

文字列が特定の文字列で始まるかどうかを判断できます。(英文字の)大文字・小文字は区別されます。

startsWith()を使う

//startswith
var str = 'To be, or not to be, that is the question.';

console.log(str.startsWith('To be'));         // true
console.log(str.startsWith('not to be'));     // false
console.log(str.startsWith('not to be', 10)); // true

互換性

このメソッドは ECMAScript 2015 で追加されました。すべてのJavaScriptの実装でまだ利用可能ではないかもしれません。しかしながら、次のコードでString.prototype.startsWith()をエミュレートできます。

if (!String.prototype.startsWith) {
  String.prototype.startsWith = function(search, pos) {
    return this.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;
  };
}

少々重いですがより強力 (ES2015に完全準拠) な互換実装を Mathias Bynens が GitHub で公開しています。

仕様

仕様書 策定状況 コメント
ECMAScript 2015 (6th Edition, ECMA-262)
String.prototype.startsWith の定義
標準 初期定義
ECMAScript Latest Draft (ECMA-262)
String.prototype.startsWith の定義
ドラフト  

ブラウザー実装状況

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOS 版 SafariSamsung InternetNode.js
基本対応Chrome 完全対応 41Edge 完全対応 ありFirefox 完全対応 17IE 未対応 なしOpera 完全対応 28Safari 完全対応 9WebView Android 完全対応 ありChrome Android 完全対応 36Edge Mobile 完全対応 ありFirefox Android 完全対応 17Opera Android 完全対応 ありSafari iOS 完全対応 9Samsung Internet Android 完全対応 ありnodejs 完全対応 4.0.0
完全対応 4.0.0
完全対応 0.12
無効
無効 From version 0.12: this feature is behind the --harmony runtime flag.

凡例

完全対応  
完全対応
未対応  
未対応
ユーザーが明示的にこの機能を有効にしなければなりません。
ユーザーが明示的にこの機能を有効にしなければなりません。

関連情報

ドキュメントのタグと貢献者

このページの貢献者: sutara79, woodmix, arbk, yyss, shide55
最終更新者: sutara79,