我们知道,在前端开发中,模板字符串是一种非常方便的语法,可以轻松地生成字符串模板。而在 ECMAScript 2018 中,模板字符串提供了更进一步的功能,例如将表达式作为参数传递给一个函数,甚至是操作符重载。在本文中,我们将学习如何利用这些新的特性来调用函数与模板函数。
调用函数
在 ECMAScript 2018 中,我们可以使用模板字符串来调用函数。如下所示:
const name = "world";
const func = (str) => `Hello, ${str}!`;
console.log(`${func(name)}`);
// 输出:Hello, world!在这个例子中,我们定义了一个变量 name 以及一个函数 func,函数的参数是一个字符串,返回值是一个模板字符串。在模板字符串中,我们使用 ${} 来调用函数,并将 name 作为参数传递给了 func 函数。
调用模板函数
除了调用普通函数外,我们还可以使用模板字符串来调用模板函数。在 ECMAScript 2018 中,我们可以使用标记函数来创建一个自定义的模板函数。如下所示:
-- -------------------- ---- -------
----- ----- - --------
----- ----- - -----------
-------- ---------------- ---------- -
--- ------ - ---
--- ---- - - -- - - --------------- ---- -
------ -- -----------
-- -- - -------------- -
------ -- ----------
-
-
------ ---------------------
-
-------------------------- -------- --- ------------
-- --------- ----- --- ---------在这个例子中,我们定义了两个变量 name1 和 name2,以及一个标记函数 tagFunc。在调用模板函数时,我们在模板字符串前面加上标记函数 tagFunc,调用过程会将模板字符串及其对应的参数传递给 tagFunc 函数。其中,第一个参数是一个数组,包含了模板字符串的各个部分,第二个参数是一个数组,包含了所有的传递给函数的表达式的值。
在 tagFunc 函数中,我们通过循环将字符串和表达式的值进行拼接,并将最终的字符串转换为大写形式返回。这里需要注意的是,在标记函数 tagFunc 内部,我们有权利对字符串和表达式的值进行任意的转换和处理。
小结
通过本文的介绍,我们了解了 ECMAScript 2018 中新功能模板字符串的调用函数和标记函数,以及其在实际开发中的应用。虽然这些新功能在平时开发中用得不是很频繁,但它们能够帮助我们提高代码的复用性和维护性,让我们的代码更加简洁、易读和易修改。
Source: FunTeaLearn,Please indicate the source for reprints https://funteas.com/post/6793986d504e4ea9bd7eeaff