栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

模板文字被困在字符串变量中

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

模板文字被困在字符串变量中

我稍微重写了这里介绍的解决方案。

在此,

eval_template
评估作为常规字符串提供的ES6模板字符串。模板字符串中使用的局部作用域中的任何变量都必须作为在第二个参数中传递的对象的属性来提供(因为使用创建的函数
Function
在全局作用域中并且无法访问局部变量)。

危险地接近使用

eval
。您可能希望选择其他方法来处理模板字符串。ES6模板字符串被设计为一种运行时机制,用于创建字符串文字,而不是模板语言可以存储和重用的模板语言。

function eval_template(s, params) {  return Function(...Object.keys(params), "return " + s)    (...Object.values(params));}const template = "`Welcome, ${user.name}`";console.log(eval_template(template, {user: {name: "James"}}));

只要将标记作为参数传递,就没有理由不能将其与带标记的模板字符串一起使用:

eval_template("tag`${boo}`", {tag, boo});


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/448773.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号