MST

星途 面试题库

面试题:JavaScript 中模板标签参数传递基础

请解释 JavaScript 模板标签中参数是如何传递的,并给出一个简单示例,展示如何在模板标签函数中访问传递的参数。
44.2万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
  1. 参数传递解释
    • 在JavaScript模板标签中,第一个参数是一个包含模板字符串字面量部分的数组。后续的参数是对模板字符串中嵌入表达式求值后的结果。例如,对于模板字符串${expression1} ${expression2},第一个参数数组会包含模板字符串的非表达式部分,而后续参数依次是expression1expression2求值的结果。
  2. 示例代码
function myTagFunction(strings, ...values) {
    let result = '';
    for (let i = 0; i < strings.length; i++) {
        result += strings[i];
        if (i < values.length) {
            result += values[i];
        }
    }
    return result;
}

let name = 'John';
let age = 30;
let result = myTagFunction`My name is ${name} and I am ${age} years old.`;
console.log(result);

在上述代码中,myTagFunction是模板标签函数。strings参数是一个数组,包含模板字符串的字面量部分(['My name is ', 'and I am ', 'years old.']),values参数是一个包含模板字符串中嵌入表达式求值结果的数组(['John', 30])。函数通过遍历stringsvalues数组,将它们组合成最终的字符串。