1var $export = require('./_export'); 2var toAbsoluteIndex = require('./_to-absolute-index'); 3var fromCharCode = String.fromCharCode; 4var $fromCodePoint = String.fromCodePoint; 5 6// length should be 1, old FF problem 7$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { 8 // 21.1.2.2 String.fromCodePoint(...codePoints) 9 fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars 10 var res = []; 11 var aLen = arguments.length; 12 var i = 0; 13 var code; 14 while (aLen > i) { 15 code = +arguments[i++]; 16 if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point'); 17 res.push(code < 0x10000 18 ? fromCharCode(code) 19 : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00) 20 ); 21 } return res.join(''); 22 } 23}); 24