Last updated: Oct 20, 2021
Check out my new book
The "charAt is not a function" error occurs when we call the
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 = 9876; // ⛔️ TypeError: charAt is not a function const result = num.charAt(0);
We called the String.charAt method on a number and got the error back.
To solve the error, make sure to only call the
charAt() method on strings. You
can convert most values to a string by using the
const num = 9876; const result = num.toString().charAt(0); console.log(result); // 👉️ "9"
Alternatively, you can check if the value is a string before calling the
const str = null; const result = typeof str === 'string' ? str.charAt(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.
charAtmethod on it, otherwise we return an empty string to be consistent.
If you have an array of strings, you probably want to join the array into a
single string before calling the
const arr = ['hello', 'world']; const result = arr.join(' ').charAt(0); console.log(result); // 👉️ "h"
join()method allows us to join an array into a string where the substrings are separated by a provided separator. We can then call the
charAtmethod on the string and get the character at the specific index.
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