The charCodeAt()
method returns an integer between 0 and 65535 representing the UTF-16 code unit at the given index.
Example
// string definition
const greeting = "Good morning!";
// UTF-16 code unit of character at index 5
let result = greeting .charCodeAt(5);
console.log(result);
// Output: 109
charCodeAt() Syntax
The syntax of the charCodeAt()
method is:
str.charCodeAt(index)
Here, str is a string.
charCodeAt() Parameters
The charCodeAt()
method takes a single parameter:
- index - An integer between 0 and (str.length - 1).
Note: The str.length
returns the length of a given string.
charCodeAt() Return Value
- Returns a number representing the UTF-16 code unit value of the character at the given index.
Notes:
- The
charCodeAt()
method always returns a value less than 65,536. - If a Unicode point cannot be represented in a single UTF-16 code unit (values greater than 0xFFFF), then it returns the first part of a pair for the code point.
Example 1: Using charCodeAt() Method
const greeting = "Good morning!";
// UTF-16 code unit of character at index 5
let result1 = greeting .charCodeAt(5);
console.log(result1);
// UTF-16 code unit of character at index 5.2
let result2 = greeting .charCodeAt(5.2);
console.log(result2);
// UTF-16 code unit of character at index 5.9
let result3 = greeting.charCodeAt(5.9);
console.log(result3);
Output
109 109 109
In the above example, we are using the charCodeAt()
method to access the UTF-16 code unit of the character at index 5.
Since the character present at index 5 is "m"
, the method returns UTF-16 code unit of "m"
.
Similarly, for the non-integer index 5.2 and 5.9, the numbers are converted to nearest integer value i.e. 5, so the method again returns UTF-16 code unit of "m"
i.e. 109.
Example 2: charCodeAt() Method for Index Out of Range
const greeting = "Good morning!";
// passing index greater than length of string
let result3 = greeting.charCodeAt(18);
console.log(result3);
// passing non-negative index value
let result4 = greeting.charCodeAt(-9);
console.log(result4);
Output
NaN NaN
In the above example, we have created a string "Good morning!"
.
Here, both the code greeting.charCodeAt(18)
and greeting.charCodeAt(-9)
returns NaN
because both indexes 18 and -9 are not present in the given string.
Example 3: charCodeAt() with Default Parameter
const greeting = "Good morning!";
// without passing parameter in charCodeAt()
let result1 = greeting.charCodeAt();
console.log(result1);
// passing 0 as parameter
let result2 = greeting.charCodeAt(0);
console.log(result2);
Output
71 71
In the above example, since we have not passed any parameter in charCodeAt()
, the default value will be 0.
So the method returns UTF-16 code unit of character at index 0 i.e. 71.
Recommended Reading: JavaScript String fromCharCode()