VG
Size: a a a
VG
VG
SG
var person = 'Mike';
var age = 28;
function myTag(strings, personExp, ageExp) {
var str0 = strings[0]; // "That "
var str1 = strings[1]; // " is a "
// Технически, в конце итогового выражения
// (в нашем примере) есть ещё одна строка,
// но она пустая (""), так что пропустим её.
// var str2 = strings[2];
var ageStr;
if (ageExp > 99){
ageStr = 'centenarian';
} else {
ageStr = 'youngster';
}
// Мы даже можем вернуть строку, построенную другим шаблонным литералом
return `${str0}${personExp}${str1}${ageStr}`;
}
var output = myTag`That ${ person } is a ${ age }`;
console.log(output);
// That Mike is a youngster
SG
Теговые шаблоны```
Расширенной формой шаблонных литералов являются теговые шаблоны. Они позволяют разбирать шаблонные литералы с помощью функции. Первый аргумент такой функции содержит массив строковых значений, а остальные содержат выражения из подстановок. В итоге, функция должна вернуть собранную строку (или что-либо совсем иное, как будет показано далее). Имя функции может быть любым.
VG
VG
SG
VG
YM
YM
AK
YM
AK
YM
AK
AK
VG
VG