如何在 JavaScript 中进行字符串插值?
2022-08-29 22:34:04
请考虑以下代码:
var age = 3;
console.log("I'm " + age + " years old!");
除了字符串串联之外,还有其他方法可以将变量的值插入到字符串中吗?
请考虑以下代码:
var age = 3;
console.log("I'm " + age + " years old!");
除了字符串串联之外,还有其他方法可以将变量的值插入到字符串中吗?
如果适用,请使用 ECMAScript 2015 的模板字符串文本。
根据 ECMAScript 5 规范,没有直接的方法可以做到这一点,但是 ECMAScript 6 具有模板字符串,在规范起草期间也称为准文本。像这样使用它们:
> var n = 42;
undefined
> `foo${n}bar`
'foo42bar'
您可以在 中使用任何有效的 JavaScript 表达式。例如:{}
> `foo${{name: 'Google'}.name}bar`
'fooGooglebar'
> `foo${1 + 3}bar`
'foo4bar'
另一件重要的事情是,您不必再担心多行字符串。你可以简单地将它们写成
> `foo
... bar`
'foo\n bar'
注意:我使用io.js v2.4.0来评估上面显示的所有模板字符串。您还可以使用最新的 Chrome 来测试上面显示的示例。
注意:ES6规范现已最终确定,但尚未被所有主流浏览器实现。
根据Mozilla Developer Network页面,这将从以下版本开始实现基本支持:Firefox 34,Chrome 41,Internet Explorer 12。如果您是Opera,Safari或Internet Explorer用户,并且现在对此感到好奇,那么这个测试平台可以用来玩,直到每个人都得到对此的支持。