3 回答
TA贡献1851条经验 获得超3个赞
function tag(strings, ...values) { assert(strings[0] === 'a'); assert(strings[1] === 'b'); assert(values[0] === 42); return 'whatever';}tag `a${ 42 }b` // "whatever"
var _taggedTemplateLiteralLoose = function (strings, raw) { strings.raw = raw; return strings; }; console.log(_taggedTemplateLiteralLoose(["1"], ["1"]));
TA贡献1810条经验 获得超4个赞
标记模板文字:
以下语法:
function`your template ${foo}`;
被称为标记模板文字。
作为标记模板文字调用的函数以下列方式接收其参数:
function taggedTemplate(strings, arg1, arg2, arg3, arg4) {
console.log(strings);
console.log(arg1, arg2, arg3, arg4);
}
taggedTemplate`a${1}b${2}c${3}`;
第一个参数是所有单个字符串字符的数组。 其余的参数对应于通过字符串插值得到的变量的值。请注意,在示例中没有 arg4
(因为只有3次字符串插值),因此 undefined
当我们尝试记录 arg4
使用REST参数语法:
function taggedTemplate(strings, ...rest) {
console.log(rest);
}
taggedTemplate `a${1}b${2}c${3}`;
taggedTemplate `a${1}b${2}c${3}d${4}`;
添加回答
举报