Get A Character from a String in JavaScript

0
56
How to Filter an Object by Key in JavaScript


Mar 16, 2022

To get a character from a string in JavaScript, we recommend using square brackets [].
string[1] returns a string of length 1 containing the 2nd character in the array.
If you access an index that is < 0 or greater than the length of the string, you’ll get back undefined.

const string = 'Hello';
const letter = string[1]; 

string[1]; 
string[20]; 
string[-1]; 

string['not a number']; 

Keep in mind that string[1] returns a string with length 1.
There is no distinct character type in JavaScript like there is in Java or C++.

typeof string[1]; 

The charAt() function

The charAt() function also returns the character at the given index of a string.
There are three key differences.

First, if you call charAt() on an index that is < 0 or greater than the length of the string, charAt() will return an empty string.

const string = 'Hello';

string.charAt(1); 
string.charAt(42); 
string.charAt(-1); 

Second, if you call charAt() with a value that JavaScript cannot convert to a number, charAt() will return the character at index 0.

string; 

string.charAt('not a number'); 

Third, charAt() can implicitly convert values to numbers.
For example, if you pass an object with a valueOf() function to charAt(), JavaScript will call valueOf() to try to convert the value to a number.
This can lead to unexpected behaviors, like being able to call charAt() on a Date.

string; 

string.charAt({ valueOf: () => 1 }); 
string.charAt(new Date(1)); 

string[{ valueOf: () => 1 }]; 
string[new Date(1)]; 

Because of the potentially unexpected behaviors of charAt(i), we typically recommend using [i] to get the i-th character in a string.


More Fundamentals Tutorials



Source link

Leave a reply

Please enter your comment!
Please enter your name here