How to solve substring is not a function in JavaScript
In this tutorial, we are going to learn about how to solve the TypeError: substring is not a function in JavaScript
When we use a ‘substring()’ method on a value which is not a data type string we will get the following error in our console.
Example:
const value = 8999;
console.log(value.substring(0, 2));
Output:
"TypeError: value.substring is not a function
In the example above, we are getting the error because we are using the ‘substring()’ method on a datetype number, but the substring() is not available on the number datatype.
To solve the “TypeError: substring is not a function”, make sure to call the substring() method on a data type string or convert the number to string before calling the substring() method on it.
Here is an example:
const value = 8999;
const result = value.toString().substring(0, 2);
console.log(result);
Output:
'89'
In the example above, we first converted the given value to a string using the toString() method, then we called a substring() method on it.
Note: The ‘substring()’ method creates a new string with the values that passes the test condition.
Type checking
To avoid the run time errors, we can also check the given datatype is a string or not before calling the substring() method on it.
Here is an example:
const value = 8999;
if(typeof value === 'string'){
console.log(value.substring(0,2));
}else{
console.log('Given value is not a string');
}
Conclusion
The “substring is not a function” error occurs, when we call a substring() method on a value which is not a string. To solve the error, convert the value to an string before calling the substring() method on it or make sure to use the substring() method on a valid strings.