String.prototype.endsWith()
The endsWith() method of {{jsxref("String")}} values determines whether a string ends with the characters of this string, returning true or false as appropriate.
{{InteractiveExample("JavaScript Demo: String.prototype.endsWith()")}}
const str1 = "Cats are the best!";
console.log(str1.endsWith("best!"));
// Expected output: true
console.log(str1.endsWith("best", 17));
// Expected output: true
const str2 = "Is this a question?";
console.log(str2.endsWith("question"));
// Expected output: false
Syntax
endsWith(searchString)
endsWith(searchString, endPosition)
Parameters
searchString- : The characters to be searched for at the end of
str. Cannot be a regex. All values that are not regexes are coerced to strings, so omitting it or passingundefinedcausesendsWith()to search for the string"undefined", which is rarely what you want.
- : The characters to be searched for at the end of
endPosition{{optional_inline}}- : The end position at which
searchStringis expected to be found (the index ofsearchString’s last character plus 1). Defaults tostr.length.
- : The end position at which
Return value
true if the given characters are found at the end of the string, including when searchString is an empty string; otherwise, false.
Exceptions
{{jsxref("TypeError")}}- : Thrown if
searchStringis a regex.
- : Thrown if
Description
This method lets you determine whether or not a string ends with another string. This method is case-sensitive.
Examples
Using endsWith()
const 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
Specifications
{{Specifications}}
Browser compatibility
{{Compat}}
See also
- Polyfill of
String.prototype.endsWithincore-js - es-shims polyfill of
String.prototype.endsWith {{jsxref("String.prototype.startsWith()")}}{{jsxref("String.prototype.includes()")}}{{jsxref("String.prototype.indexOf()")}}{{jsxref("String.prototype.lastIndexOf()")}}