Desde el MDN
El tipo String de JavaScript se usa para representar datos textuales. Es un conjunto de "elementos" de valores enteros sin signo de 16 bits. Cada elemento en la Cadena ocupa una posición en la Cadena. El primer elemento está en el índice 0, el siguiente en el índice 1, y así sucesivamente. La longitud de una cadena es el número de elementos que contiene. Puede crear cadenas usando literales de cadena u objetos de cadena.
¿Qué significa cuando dice que el tipo de cadena de JavaScript es un conjunto de "elementos" de valores enteros sin signo de 16 bits? ¿Por qué valores enteros?
Los valores enteros sin signo de 16 bits son una representación de caracteres específicos y dado que es un conjunto de elementos, puede capturar caracteres específicos dentro de una cadena con notación [] como lo haría con una lista. Ex:
const string = 'john doe';
console.log(string[3]) // Will print 'n' as it is the 3rd index characters (starts at 0)
simplemente significa que una cadena es un objeto "similar a una matriz" con cada carácter disponible de manera similar a un elemento de matriz. Cada uno de esos caracteres se almacena como un valor UTF-16 .
// The following is one string literal:
let s = "ABCDEFG";
console.log(s);
// But it's also an array-like object in that it has a length and can be indexed
console.log("The length of the string is: ", s.length);
console.log("The 3rd character is: ", s[2]);
// And we can see that the characters are stored as separate UTF-16 values:
console.log(s.charCodeAt(2));
Como entendí:
Por lo tanto, esto significa representar una cadena js usar un conjunto de números (cada número es un 1 de 2 ^ 16 números porque no hay números flotantes ni representación positiva/negativa).
Nota: para entender más, lea sobre utf-16
Referencia: https://www.ibm.com/docs/en/i/7.2?topic=unicode-utf-16