Javascript. Unicode char by hex code

Ниже представлена реализация получения unicode-символа по шестнадцатеричному коду в методе getUnicodeChar утилитного объекта util.

// utility object
var util = {   
    // modulo
    mod: function (a, b) {
        return a % b;
    },

    // integer division
    div: function (a, b) {
        return (a - a % b) / b;
    },

    // convert hex to decimal number
    hex2dec: function (hex) {
        hex = '' + hex;
       
        var result = 0,
              dec, i, len;
       
        for (i = 0, len = hex.length; i < len; i++) {
            dec = parseInt(hex.charAt(i), 16);
            if (!isFinite(dec)) {
                break;
            }
            result = result * 16 + dec;
        }
       
        return result;
    },

    // convert decimal number to hex
    dec2hex: function (number) {
        number = +number;
       
        var dec = 0,
              result = '',
              self = this;
       
        while ((dec = self.mod(number, 16)) > 0) {
            result = dec.toString(16) + result;
            number = self.div(number, 16);
        }
       
        return result;
    },
   
    // get unicode char
    getUnicodeChar: function (unicode) {
        var unicodeChar = '',
              uffff = 0,
              self = this;
       
        if (unicode.charAt(0) === '\\' && unicode.charAt(1) === 'u') {
            uffff = self.hex2dec(unicode.substr(2));
        }
       
        return unicodeChar + String.fromCharCode(uffff);
    }
};


console.log(util.getUnicodeChar('\\u041a')); // К
console.log(util.hex2dec('041a')); // 1050
console.log(util.dec2hex(1050));  // 41a


Стоит отметить, что методы hex2dec и dec2hex можно реализовать и более простым способом.

// convert hex to decimal number
function hex2dec(hex) {
    return parseInt(hex, 16);
}

// convert decimal number to hex
function dec2hex(dec) {
    return dec.toString(16);
}


console.log(hex2dec('041a')); // 1050
console.log(dec2hex(1050));   // 41a