Wed Oct 20 2021·2 min read
Photo by Luigi Manga
The "padStart is not a function" error occurs when we call the
method on a value that is not a string. To solve the error, convert the value to
a string using the
toString() method or make sure to only call the
method on strings.
Here is an example of how the error occurs.
const num = 123; // ⛔️ TypeError: padStart is not a function const result = num.padStart(5, '0');
We called the String.padStart method on an object and got the error back.
To solve the error, make sure to only call the
padStart() method on strings.
You can convert most values to a string by using the
const num = 123; // ⛔️ TypeError: padStart is not a function const result = num.toString().padStart(5, '0'); console.log(result); // 👉️ "00123"
Alternatively, you can check if the value is a string before calling the
const str = null; const result = typeof str === 'string' ? str.padStart(5, '0') : ''; console.log(result); // 👉️ ""
We used a ternary operator to check if the
str variable stores a string.
If it does, the value to the left of the comma is returned, otherwise the value to the right is returned.
padStartmethod on it, otherwise we return an empty string to be consistent.
If you want to use the
padStart method on all of the strings in an array, you
can use the
map method to iterate over the array and call the
method on each string.
const arr = ['A', 'B', 'C']; const result = arr.map(str => str.padStart(2, '_')); // 👇️ ['_A', '_B', '_C'] console.log(result);
mapmethod takes a function and calls the function on each element in the array. On each iteration, we call the
padStartmethod to pad each letter with an underscore.
If the error persists,
console.log the value you're calling the
method on and check it's type using the
If the value is an object, there's a very good chance that you are forgetting to
access a specific property on which you need to call the
I'll send you 1 email a week with links to all of the articles I've written that week