19 lines
519 B
JavaScript
19 lines
519 B
JavaScript
|
var $export = require('./_export');
|
||
|
var toIObject = require('./_to-iobject');
|
||
|
var 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);
|
||
|
var len = toLength(tpl.length);
|
||
|
var aLen = arguments.length;
|
||
|
var res = [];
|
||
|
var i = 0;
|
||
|
while (len > i) {
|
||
|
res.push(String(tpl[i++]));
|
||
|
if (i < aLen) res.push(String(arguments[i]));
|
||
|
} return res.join('');
|
||
|
}
|
||
|
});
|