概要
endsWith()
メソッドは、対象の文字列が引数に指定された別の文字列を末尾に持つ文字列であるか否かを示す真偽値を返します。
構文
str.endsWith(searchString[, position])
引数
searchString
- 検索対象とする文字列
position
- 任意。文字列が指定した長さであるかのように、文字列内の検索を行います。デフォルト値は文字列の実際の長さであり、指定した長さによって決められる範囲に制限します。
説明
このメソッドは、対象の文字列が引数に指定された別の文字列で終わる文字列であるか否かを判定し、その結果を示す真偽値を返します。
例
endsWith()
を使う
var str = 'To be, or not to be, that is the question.'; console.log(str.endsWith('question.')); // true console.log(str.endsWith('to be')); // false console.log(str.endsWith('to be', 19)); // true
Polyfill
以下のスニペットを用いる事で、 String.prototype.endsWith()
メソッドが実装されていない環境でもこれをエミュレートできます。
if (!String.prototype.endsWith) { String.prototype.endsWith = function(searchString, position) { var subjectString = this.toString(); if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) { position = subjectString.length; } position -= searchString.length; var lastIndex = subjectString.indexOf(searchString, position); return lastIndex !== -1 && lastIndex === position; }; }
仕様
仕様書 | 策定状況 | コメント |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) String.prototype.endsWith の定義 |
標準 | 最初期の定義 |
ECMAScript 2017 Draft (ECMA-262) String.prototype.endsWith の定義 |
ドラフト |
ブラウザ実装状況
機能 | Chrome | Firefox (Gecko) | Edge | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基本サポート | 41 | 17 (17) | (有) | 未サポート | 未サポート | 9 |
機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
基本サポート | 未サポート | 36 | 17.0 (17) | 未サポート | 未サポート | 未サポート |