/prototype/charCodeAt|String.prototype.charCodeAt]]メソッドを使用します。
var string = String.fromCharCode( number0, number1, ..., numberN );
''number0'', ''number1'', ..., ''numberN''
var string = String.fromCharCode( 0x41, 0x42, 0x43 );
alert(string); // "ABC"
fromCharCodeメソッドはUnicodeの文字コード（バイト表現）の数値のリストを受け取り、それらを文字に変換して連結した文字列を返します。これは文字列リテラルのUnicodeエスケープシーケンスと同じ働きをします。たとえば、"\u3000" とString.fromCharCode(0x3000)は等価です（さらに "\x41" はString.fromCharCode(0x41)と等価）。fromCharCodeメソッドはStringオブジェクトの静的なメソッドであり、Stringオブジェクトのインスタンスには継承されないので、必ずString.fromCharCodeという形で呼び出す必要があります。
たとえば "A" から "Z" までのラテン文字を要素に持つ配列は、次のようにfromCharCodeメソッドを使用して生成することができます。
var array = [];
for ( let c = 'A'; c <= 'Z';
      array.push(c), c = String.fromCharCode( c.charCodeAt(0) + 1 ) );
alert(array); // ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]
または
var array = [];
for ( let i = 0, a = 'A'.charCodeAt(0); i < 26;
      array.push( String.fromCharCode( a + i++ ) ) );
alert(array); // ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]
fromCharCodeメソッドはECMAScriptの仕様上および多くのJavaScriptの処理系の実装では、0x10000 == 65536以上の文字コードの値（サロゲートペア）には対応していません（'\0' が返されます）。これはUnicodeエスケープ文字やその他の文字列を扱うメソッドでも同様です。fromCharCodeメソッドでサロゲートペアの文字コードを扱うには、次のような非標準の拡張を使用します。
String.__fromCharCode__ = String.fromCharCode;
String.fromCharCode = function(...args){
    var buf = '';
    for ( let i = 0, len = args.length; i < len; i++ ) {
        let n = args[i];
        if ( n < 0x10000 ) {
            buf += String.__fromCharCode__(n);
            continue;
        }
        n -= 0x10000;
        buf += String.__fromCharCode__(
            0xD800 + ( n >> 10 ),
            0xDC00 + ( n & 0x3FF )
        );
    }
    return buf;
};
String.fromCharCode(0x10000)  == '\uD800\uDC00'; // true
String.fromCharCode(0x10FFFF) == '\uDBFF\uDFFF'; // true