Difference between String.slice and String.substring in JavaScript
Last Updated :
21 Jul, 2023
These 2 functions are quite similar in their Syntax But are different in some cases. Let's see the difference between them.
This method selects the part of a string and returns the selected part as a new string. Start and end parameters are used to specify the extracted part. The first character starts with index 0.
Syntax:
str.slice(start, end)
This function has the same syntax as slice() This method selects the part of a string and returns the selected part as a new string. Start and end parameters are used to specify the extracted part. The first character starts with index 0.
Syntax:
str.substring(start, end)
Common Result Both give the same results in the given cases.
- If start == stop, both return an empty string
- If the stop is omitted, both extracts characters till the end of the string
- If any argument is greater than the string's length, the string's length will be used in that case.
JavaScript substring() different results of substring()
- If start > stop, then the function swaps both arguments.
- If any argument is negative or is NaN, it is treated as 0.
JavaScript slice() different results of slice()
- If start > stop, This function will return an empty string. ("")
- If the start is negative, It sets char from the end of the string, like substr().
- If stop is negative, It sets stop = string.length – Math.abs(stop) (original value)
Example 1: These examples give the same results in both cases.
JavaScript
// Input string
let str = "This is GeeksForGeeks";
console.log("Str = '" + str + "'");
// Function to display output difference
function Geeks() {
console.log("str.slice() = " + str.slice(0, 13));
console.log(
"str.substring() = " + str.substring(0, 13)
);
}
// Function call
Geeks();
OutputStr = 'This is GeeksForGeeks'
str.slice() = This is Geeks
str.substring() = This is Geeks
Example 2:In this Example, In the case of substring() it swaps the arguments when start>stop where the slice() returns the empty string.
JavaScript
// Input string
let str = "This is GeeksForGeeks";
console.log("Str = '" + str + "'");
// Function to display output difference
function Geeks() {
console.log("str.slice() = " + str.slice(13, 0));
console.log(
"str.substring() = " + str.substring(13, 0)
);
}
// Function call
Geeks();
OutputStr = 'This is GeeksForGeeks'
str.slice() =
str.substring() = This is Geeks
Example 3:In this Example, In the case of substring() negative arguments are treated as 0 where the slice() returns the empty string.
JavaScript
// Input string
let str = "This is GeeksForGeeks";
console.log("Str = '" + str + "'");
// function to display output diff
function Geeks() {
console.log("str.slice() = " + str.slice(-13, 7));
console.log(
"str.substring() = " + str.substring(-13, 7)
);
}
// Function call
Geeks();
OutputStr = 'This is GeeksForGeeks'
str.slice() =
str.substring() = This is
Differences between slice() and substring() methods:
|
It is used to extract a part of the string | It is used to extract a substring in a string |
Its return value is a string because it returns some part of the string. | It does not distort the original string |
It takes parameters as integers i.e; the indexes of the string from where we want to extract the string | Its parameters are the start and end position of the substring that we want to extract |
It is an in-built string method in JavaScript | It is also an in-built string method in Javascript. |
It does not distort the original string | Its return value is of type string |
Similar Reads
Difference between substr() and substring() in JavaScript In JavaScript Both of the functions are used to get the specified part of the string, But there is a slight difference between them. substr() and substring() are string methods used to extract parts of a string. The main difference is that substr() accepts a length parameter, while substring() accep
2 min read
What is the difference between Array.slice() and Array.splice() in JavaScript ? In JavaScript, slice() and splice() are array methods with distinct purposes. `slice()` creates a new array containing selected elements from the original, while `splice()` modifies the original array by adding, removing, or replacing elements. slice():The slice() method in JavaScript extracts a sec
3 min read
Check If An Array of Strings Contains a Substring in JavaScript Here are the different ways to check if an array of strings contains a substring in JavaScript1. Using includes() and filter() methodWe will create an array of strings, then use includes() and filter() methods to check whether the array elements contain a sub-string.JavaScriptconst a = ['Geeks', 'gf
4 min read
Different Ways to Use Array Slice in JavaScript In this article, we will see the different ways to use the Array slice method in Javascript. Using Array Slice in JavaScript refers to the technique of extracting a specified portion of an array, defined by start and end indices, to create a new array containing those selected elements. Syntaxarr.sl
4 min read
How to trim a file extension from string using JavaScript ? Given a fileName in string format and the task is to trim the file extension from the string using JavaScript. replace() method: This method searches a string for a defined value or a regular expression, and returns a new string with the replaced defined value. Syntax: string.replace(searchVal, newv
4 min read