Application Development

JavaScript Comparison of String.slice() Vs String.substr() Vs String.substring() in 2024

Slice, Substr, and Substring in JavaScript differs in various aspects.

javascript comparison

With this article on JavaScript, we will be clearing out your confusion in using String.slice() vs String.substr() vs String.substring() together or separately.  But first, we will start by explaining the key differences in the JavaScript strings i.e. substr and substring.

JavaScript basically has two string methods that are:

  1. Substr
  2. Substring

The confusion mainly arises in these two JavaScript strings because they look very identical at the first glance, as both of these string methods also return a substring from a given string.

So, what separates these similar two string methods…

What tells apart these JavaScript string methods are their 'Second Parameters' because both of the numbers are expecting two different outcomes.

For example:

If we are using a 'substr' the second parameter is the number of the characters to include in the substring. Like -

var s = "string";

s.substr(1, 3); // would return 'tri'

 

var s = "another example";

s.substr(3, 7); // would return 'ther ex'

But when we are using a 'substring', then the second parameter is the first index that is not to include. Like -

var s = "string";

s.substring(1, 3); // would return 'tr'

 

var s = "another example";

s.substring(3, 7); // would return 'ther'

String.slice() vs String.substr() vs String.substring()

The methods slice(), substring(), and substr() are the methods that extract parts of a string and then return the extracted parts in a new string. Also, all of these methods do not change the original string from which they extract.

For the slice method i.e. slice(), it can take these two arguments:

Argument #1 - With 'begin' the position of where to begin the extraction is required. The position of the first character starts at 0 and it can use the negative values to specify the exact location from the end of the string.

Argument #2 - For 'end', the position where to end the extraction is optional to mention. Once omitted, the slice() will then select all the characters from the 'start' position to the end of the string and can also use the negative numbers to select from the end of the main string.

Example:

var numbers="0123456789";

console.log(numbers.slice(2,4));   // shows 23

console.log(numbers.slice(-7,-3)); // shows 3456

For the substring method i.e. substring(), it can take these two arguments:

Argument #1 - Starting with 'from' it is required to mention where to extraction from and the first character's index will be set as 0.

Argument #2 - Beginning with 'to', it is optional to mention where the end of extraction will be. Once omitted, it will extract all the rest of the string itself.

Example:

console.log(numbers.substring(-3,5));  // shows 01234

console.log(numbers.substring(NaN,5)); // shows 01234

console.log(numbers.substring(-3));    // shows 0123456789

For the substr method i.e. substr(), it can take these two arguments:

Argument #1 - With the 'start' the extraction will begin and the first character will begin at an index of 0. For extracting the characters from the end of the string, the negative start numbers will be used.

Argument #2 - For the 'length', the mentioning of the number of characters to extract is optional. And if is it omitted, the rest of the string will be extracted automatically.

Example:

console.log(numbers.substr(3)); // shows 3456789

console.log(numbers.substr(-3));// shows 789

Main difference between String.slice() and String.substring()

If the startIndex > endIndex (startIndex greater than endIndex) then the slice() will run an empty string but substring() will swap those parameters. And if startIndex < endIndex (endIndex greater than startIndex) then slice() will consider it as string.length-index whereas substring() will treat them as a zero i.e. 0.

Do let us know if you agree with the above-mentioned differences between JavaScript slice(), substr() and substring(), by commenting down below.

Sakshi Kaushik
Written By
Sakshi Kaushik

A passionate writer and tech lover, she strives to share her expertise with mobile app developers and fellow tech enthusiasts. During her moments away from the keyboard, she relishes delving into thriller narratives, immersing herself in diverse realms.

Want To Hire The Best Service Provider?
MobileAppDaily will help you explore the best service providers depending on your vision, budget, project requirements and industry. Get in touch and create a list of best-suited companies for your needs.

Latest Blogs

Application Development

Benefits of Mobile Apps in Education: Learning Beyond Classrooms

4 min read  

Schools and institutions across the globe have shifted to e-learning. The dominance of online education has transformed traditional educational paradigms, offering an interactive experience for all. Top education apps are increasingly being used to supplement classroom teaching and innovate learning

Application Development

Practice Coding in JAVA by Writing a Game

4 min read  

Learning programming games in Java is a project-based learning approach that addresses real-world development challenges. Besides providing hands-on practice, coding games in Java polish problem-solving skills and boost creativity. Java offers a fertile ground for budding developers. It allows them

Application Development

Cost of Weather App Development - From Types to Step-by-Step Cost Breakdown!

4 min read  

Staying informed about the weather has become an inseparable part of everyone’s daily lives. From planning your long weekends to full-fledged vacations or simply checking if you should bring an umbrella, a weather app is essential.Most app development companies understand the significance o

Application Development

Evaluating AI Development Companies: Key Factors to Consider

4 min read  

AI is the new hot talk of the town. Everywhere you look, AI is changing that landscape. Ever since Artificial Intelligence was introduced to the general public, the technology has gathered a lot of eyeballs from both individuals as well as the general public. But AI is not like the Terminat

Featured Interviews

Interview

Interview With Coyote Jackson, Director of Product Management, PubNub

MobileAppDaily had a word with Coyote Jackson, Director of Product Management, PubNub. We spoke to him about his journey in the global Data Stream Network and real-time infrastructure-as-a-service company. Learn more about him.

MAD Team 4 min read  
Interview

Interview With Laetitia Gazel Anthoine, Founder and CEO, Connecthings

MobileAppDaily had a word with Laetitia Gazel Anthoine, Founder and CEO, Connecthings. We spoke to her about her idea behind Connecthings and thoughts about the company’s services.

MAD Team 4 min read  
Interview

Interview With Gregg Temperley, Founder Of ParcelBroker App

MobileAppDaily had a word with Gregg Temperley, Founder. We spoke to him about his idea behind such an excellent app and his whole journey during the development process.

MAD Team 4 min read  
Interview

Interview With George Deglin, CEO Of OneSignal

MobileAppDaily had a word with George Deglin, the CEO and co-founder of OneSignal, a leading customer messaging and engagement solution, we learn multiple facets related to customer engagement, personalization, and the future of mobile marketing.

MAD Team 4 min read