The endsWith()
method in JavaScript is a handy string method that checks if a string ends with a specified suffix. This method returns true
if the string ends with the suffix and false
otherwise. It’s particularly useful when you need to validate or manipulate strings based on their endings.
Syntax
The syntax for the endsWith()
method is as follows:
string.endsWith(searchValue, length);
searchValue
: The suffix to check for. This can be a string or something that can be converted into a string.length
(optional): Specifies the position in the string to end the search. If provided, the method will check if the string ends with the suffix up to the specified length. If not provided, it checks the entire string.
Examples
Basic Usage
Let’s start with a simple example:
const str = "Hello, World!";
const result = str.endsWith("!");
console.log(result); // Output: true
In this example, the string ends with “!” so the method returns true
.
Case Sensitivity
The endsWith()
method is case-sensitive. For instance:
const str = "Hello, World!";
const result = str.endsWith("world!");
console.log(result); // Output: false
Here, the method returns false
because the suffix is in lowercase while the original string has uppercase letters.
Using the Length Parameter
The length
parameter allows you to specify where to end the search. For example:
const str = "Hello, World!";
const result = str.endsWith("World", 7);
console.log(result); // Output: true
In this case, the method checks if the string ends with “World” up to the 7th position (0-indexed), which it does.
Edge Cases
Testing edge cases helps understand the method’s behavior better:
const str = "test";
console.log(str.endsWith("")); // Output: true
console.log(str.endsWith("test")); // Output: true
console.log(str.endsWith("testtest")); // Output: false
console.log(str.endsWith("Test")); // Output: false
When to Use endsWith()
Use endsWith()
when you need to validate the ending of a string, such as checking file extensions, URLs, or any specific string patterns.
Frequently Asked Questions
1. Is endsWith() case-sensitive?
Yes, endsWith()
is case-sensitive. “Hello” and “hello” are considered different.
2. What if the suffix is an empty string?
If the suffix is an empty string, endsWith()
always returns true
because an empty string is a suffix of any string.
3. How does the length parameter affect the result?
The length
parameter specifies the position to end the search. If it’s omitted, the entire string is checked. If it’s larger than the string’s length, it’s treated as the string’s length.
4. Can I use endsWith() with numbers or other data types?
Yes, but they are converted to strings. For example, str.endsWith(123)
is equivalent to str.endsWith("123")
.
Conclusion
The endsWith()
method is a powerful tool for string manipulation in JavaScript. By understanding its syntax, usage, and edge cases, you can effectively use it to validate and manipulate strings in your applications. Experiment with different scenarios to get a better grasp of its capabilities!