JavaScript provides many useful methods for string objects. Recall that a method is a function that "belongs to" a specific object. Methods will typically result in some operation being carried out on the data within an object. For strings, this means that our methods will typically transform the characters of the given string in some way.
As we have learned, strings are immutable. Therefore, string methods will not change the value of a string itself, but instead will return a new string that is the result of the given operation.
We saw this behavior in the toLowerCase
example.
Example
1let nonprofit = "LaunchCode";
2
3console.log(nonprofit.toLowerCase());
4console.log(nonprofit);
Console Output
launchcode
LaunchCode
While nonprofit.toLowerCase()
evaluated to "launchcode"
, the value of nonprofit
was left unchanged. This will be case for each of the string methods.
Here we present the most commonly-used string methods. You can find documentation for other string methods at:
Method | Syntax | Description |
---|---|---|
indexOf | stringName.indexOf(substr) |
Returns the index of the first occurrence of the substring in the string, and returns -1 if the substring is not found. |
toLowerCase | stringName.toLowerCase() |
Returns a copy of the given string, with all uppercase letters converted to lowercase. |
toUpperCase | stringName.toUpperCase() |
Returns a copy of the given string, with all lowercase letters converted to uppercase. |
trim | stringName.trim() |
Returns a copy of the given string with the leading and trailing whitespace removed. |
replace | stringName.replace(searchChar, replacementChar) |
Returns a copy of stringName , with the first occurrence of searchChar replaced by replacementChar . |
slice | stringName.slice(i, j) |
Returns the substring consisting of characters from index i through index j-1 . |
Tip
String methods can be combined in a process called method chaining. Given word = 'JavaScript';
, word.toUpperCase() returns JAVASCRIPT
. What would word.slice(4).toUpperCase()
return? Try it at repl.it.
Follow the links in the table above for the replace
, slice
, and trim
methods. Review the content and then answer the following questions.
Question
What is printed by the following code?
1let language = "JavaScript";
2language.replace('J', 'Q');
3language.slice(0,5);
4console.log(language);
"JavaScript"
"QavaScript"
"QavaSc"
"QavaS"
Question
Given language = 'JavaScript';
, what does language.slice(1,6)
return?
"avaScr"
"JavaSc"
"avaSc"
"JavaS"
Question
What is the value of the string printed by the following program?
1let org = " The LaunchCode Foundation ";
2let trimmed = org.trim();
3
4console.log(trimmed);
" The LaunchCode Foundation "
"The LaunchCode Foundation"
"TheLaunchCodeFoundation"
" The LaunchCode Foundation"