我有以下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 name is ${person.name}.`;
和
let MyVar = "My name is "+ person.name+".";
我已经能够在此处将字符串MyVar
串联起来person.name
,那么使用模板文字的情形将是什么?
如果Hello${person.name}
像问题示例中那样仅将模板文字与占位符(例如)一起使用,则结果与串联字符串相同。从主观上讲,它看起来更好并且更易于阅读,尤其是对于多行字符串或包含这两者的字符串'
,"
因为您不必再转义那些字符了。
可读性是一个很棒的功能,但是关于模板最有趣的是Tagged模板文字:
let person = {name: 'John Smith'};
let tag = (strArr, name) => strArr[0] + name.toUpperCase() + strArr[1];
tag `My name is ${person.name}!` // Output: My name is JOHN SMITH!
在此示例的第三行中,名为的函数tag
被调用。模板字符串的内容分为多个变量,您可以在tag
函数的参数中访问这些变量:文字部分(在此示例中,strArr[0]
isMynameis
的值和strArr[1]
is的值!
)和替代项(JohnSmith
)。模板文字将根据tag
函数返回的值进行评估。
在ECMAScript的维基列出了一些可能的使用情况下,如自动转义或编码输入,或定位。您可以创建一个名为的标记函数msg
,该函数查找类似的文字部分Myname is
,并用当前语言环境的语言(例如德语)的翻译替换它们:
console.log(msg`My name is ${person.name}.`) // Output: Mein Name ist John Smith.
标记函数返回的值甚至不必是字符串。您可以创建一个名为tag的标记函数$
,该函数对字符串进行求值并将其用作查询选择器以返回DOM节点的集合:
$`a.${className}[href=~'//${domain}/']`
我有以下ECMAScript 6模板文字的代码: 输出如下所示: 这是小提琴。 我试图寻找确切的区别,但我找不到,以下两种说法有什么区别? 和 我已经能够在这里获得与< code>person.name连接的字符串< code>MyVar,那么在什么场景中使用模板文字呢?
ES6引入了一种通过反引号( ` )标记的新的字符串文字类型。 这些字符串文字可以包括换行符,并且有一个新的机制用于将变量插入字符串:
问题内容: 在ES6中使用字符串连接或模板文字时,HTML代码生成在现代浏览器中运行的速度是否可测得更快? 例如: 字符串串联 模板文字 问题答案: 目前看来,字符串连接速度更快:http : //jsperf.com/es6-string-literals-vs-string-concatenation 我测试过的是在#enable-javascript-harmony启用了该标志的V4 4.3
链接: https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/es6/create-strings-using-template-literals 问题:< br >使用带反斜杠的模板文字语法创建列表元素(li)字符串数组。每个列表元素的文本应该是result对象的failure属性中的数组元素之一
本文向大家介绍深入浅出es6模板字符串,包括了深入浅出es6模板字符串的使用技巧和注意事项,需要的朋友参考一下 本文主要介绍了深入浅出es6模板字符串,分享给大家,具体如下 作为前端开发者避免不了根据后台数据的返回,组装html,渲染页面。举个栗子 有时候还要给标签加一些属性,写起来很不方便,es6提供了模板字符串的方法,简化了这一过程 所有模板字符串的空格和换行,都是被保留的,如果你不想要前后换
当我有一个字符串需要将一个字符连接到它的结尾时,我应该更喜欢超过是否有任何性能原因? 我知道数组字符串连接和字符串生成器,我并不是在询问一般情况下如何连接字符串的建议。 我也知道有些人会有冲动向我解释过早的优化,而且一般来说我不应该为这些小事情费心,请不要... 我之所以问这个问题,是因为从编码风格的偏好来看,我更倾向于使用后一个,但我觉得第一个应该表现得稍微好一点,因为知道所附加的只是一个字符,