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}`;
添加回答
舉報