3 回答

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊
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貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超5個(gè)贊
標(biāo)記模板文字:
以下語法:
function`your template ${foo}`;
被稱為標(biāo)記模板文字。
作為標(biāo)記模板文字調(diào)用的函數(shù)以下列方式接收其參數(shù):
function taggedTemplate(strings, arg1, arg2, arg3, arg4) {
console.log(strings);
console.log(arg1, arg2, arg3, arg4);
}
taggedTemplate`a${1}b${2}c${3}`;
第一個(gè)參數(shù)是所有單個(gè)字符串字符的數(shù)組。 其余的參數(shù)對應(yīng)于通過字符串插值得到的變量的值。請注意,在示例中沒有 arg4
(因?yàn)橹挥?次字符串插值),因此 undefined
當(dāng)我們嘗試記錄 arg4
使用REST參數(shù)語法:
function taggedTemplate(strings, ...rest) {
console.log(rest);
}
taggedTemplate `a${1}b${2}c${3}`;
taggedTemplate `a${1}b${2}c${3}d${4}`;

TA貢獻(xiàn)1868條經(jīng)驗(yàn) 獲得超4個(gè)贊
添加回答
舉報(bào)