gpt4 book ai didi

javascript - 动态评估模板文字

转载 作者:数据小太阳 更新时间:2023-10-29 05:25:05 24 4
gpt4 key购买 nike

假设我有这样的模板文字:

const templateLiteral = `string text ${expression} string text`

我想将模板字面量动态计算为完成的字符串。

function toFoo(templateLiteral){
//returns "string text Foo string text"
return templateLiteral.evaluate('Foo');
}

function toBar(templateLiteral){
//returns "string text Bar string text"
return templateLiteral.evaluate('Bar');
}

function toBaz(templateLiteral){
//returns "string text Baz string text"
return templateLiteral.evaluate('Baz');
}

有没有办法用模板文字做这样的事情,或者我只是愚蠢? (template.evaluate() 是一个组合函数,但我正在寻找 JS 的那种功能!)。

最佳答案

做到这一点的最好方法很明显,只需将问题给出的情况反转即可。 您只需将模板文字包装在一个函数中,然后您将延迟评估,直到您传入所需的参数。就这么简单。

function evaluteTemplateLiteral(bar){
return `foo ${bar} baz`;
}

现在如果你想变得更漂亮,你可以创建这个:

function evaluateGeneric(vals, fn){
return fn.apply(null, vals);
}

你会像这样使用上面的内容:

evaluateGeneric(['brown','fox','cholo'], function(){
return `the quick ${arguments[0]} fox ${arguments[1]}`;
});

关于javascript - 动态评估模板文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39971088/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com