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.
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 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 valid strings.