Questions tagged «template-strings»

7
JavaScript中反引号字符(`)的用法
在JavaScript中,反引号†的作用似乎与单引号相同。例如,我可以使用反引号定义这样的字符串: var s = `abc`; 有没有一种方法可以使反引号的行为实际上不同于单引号的行为? †请注意,在程序员中,“反勾号”是通常被称为重音符号的一个名称。程序员有时还会使用备用名称 “ backquote”和“ backgrave”。同样,在Stack Overflow和其他地方,“ backtick”的其他常见拼写是“ back-tick”和“ back tick”。


2
反引号调用函数
我不确定如何解释,但是当我跑步时 console.log`1` 在谷歌浏览器中,我得到的输出像 console.log`1` VM12380:2 ["1", raw: Array[1]] 反引号为什么要调用log函数,为什么要对它进行索引raw: Array[1]? 由Catgocat在JS室提出的问题,但是除了关于模板化字符串的事情之外,没有其他任何答案是合乎情理的。

4
ES6模板文字与串联字符串
我有以下Ecma-Script-6代码 template literals let person = {name: 'John Smith'}; let tpl = `My name is ${person.name}.`; let MyVar="My name is "+ person.name+"."; console.log("template literal= "+tpl); console.log("my variable = "+MyVar); 输出如下: template literal= My name is John Smith. my variable = My name is John Smith. 这个是小提琴。我尝试搜索确切的差异,但找不到它,我的问题是这两个语句之间有什么区别, let tpl = `My …

1
模板字符串作为对象属性名称
为什么JavaScript不允许模板字符串作为对象属性键?例如,当我输入: foo = {`bar`: 'baz'} 进入NodeJS REPL,它会抛出一个 SyntaxError带有长堆栈跟踪的“意外模板字符串”。属性值很好,但是,这并不出乎意料。浏览器中也会发生类似的错误,例如Firebug抛出一个SyntaxError带有“无效属性ID”的错误。 “计算的属性名称”中允许使用模板字符串。例如,这在所有支持以下语法的浏览器中都可以完美编译: var foo = { [`bar` + 1]: `baz` }; 并创建对象 {"bar1": "baz"}。 为什么不允许模板字符串作为文字对象键?是出于性能原因吗?模板字符串必须在运行时进行编译(如果我错了,请纠正我),这意味着每次遇到此对象时,解释器都必须计算对象名称。考虑到“煮熟的”模板字符串之类的因素,这看起来可能会变慢,尽管自ES5以来我们已经有了吸气剂和吸气剂。Firefox并没有将其提及为错误,这就是为什么我发现它出乎意料。将来是否会允许使用该语法?

7
模板字符串ES6防止换行
我有一个长字符串,使用ES6模板字符串构建,但是我希望它没有换行符: var string = `As all string substitutions in Template Strings are JavaScript expressions, we can substitute a lot more than variable names. For example, below we can use expression interpolation to embed for some readable inline math:` console.log(string); 结果: As all string substitutions in Template Strings are JavaScript expressions, …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.