18 lines
516 B
JavaScript
18 lines
516 B
JavaScript
|
var $export = require('./_export')
|
||
|
, toIObject = require('./_to-iobject')
|
||
|
, toLength = require('./_to-length');
|
||
|
|
||
|
$export($export.S, 'String', {
|
||
|
// 21.1.2.4 String.raw(callSite, ...substitutions)
|
||
|
raw: function raw(callSite){
|
||
|
var tpl = toIObject(callSite.raw)
|
||
|
, len = toLength(tpl.length)
|
||
|
, aLen = arguments.length
|
||
|
, res = []
|
||
|
, i = 0;
|
||
|
while(len > i){
|
||
|
res.push(String(tpl[i++]));
|
||
|
if(i < aLen)res.push(String(arguments[i]));
|
||
|
} return res.join('');
|
||
|
}
|
||
|
});
|