es6模板字符串_es6模板差值

es6模板字符串_es6模板差值ES6模板字符串

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

模板字符串(template string)是增强版的字符串, 用反引号[ ` ]标识。它可以当作普通字符串使用, 也可以用来定义多行字符串, 或者在字符串中嵌入变量。

嵌入变量使用[${变量名}]:如果大括号中的值不是字符串, 将按照一般的规则转为字符串。比如, 大括号中是一个对象, 将默认调用对象的toString方法。如果大括

号内部是一个字符串, 将会原样输出。

① 字符串中可以出现换行符

字符串中可以出现换行符:如果使用模板字符串表示多行字符串, 所有的空格和缩进都会被保留在输出之中。

//代码中, 所有模板字符串的空格和换行, 都是被保留的, 比如`<ul>`标签前面会有一个换行。如果你不想要这个换行, 可以使用`trim`方法消除它。
$('#list').html(` <ul> <li>first</li> <li>second</li> </ul> `.trim());

② 可以使用 ${xxx} 形式输出变量

function authorize(user, action) { 
   
 if (!user.hasPrivilege(action)) { 
   
   throw new Error(
     // 传统写法为
     // 'User '
     // + user.name
     // + ' is not authorized to do '
     // + action
     // + '.'
     `User ${ 
     user.name} is not authorized to do ${ 
     action}.`);
 }
}

③ 大括号内部可以放入任意的 JavaScript 表达式

括号内部可以放入任意的 JavaScript 表达式, 可以进行运算, 以及引用对象属性。

let x = 1;
let y = 2;
`${ 
     x} + ${ 
     y} = ${ 
     x + y}`// "1 + 2 = 3"
`${ 
     x} + ${ 
     y * 2} = ${ 
     x + y * 2}`// "1 + 4 = 5"
let obj = { 
   x: 1, y: 2};
`${ 
     obj.x + obj.y}`// "3"

④ 模板字符串之中还能调用函数。

function fn() { 
     return "Hello World";}
`foo ${ 
     fn()} bar`
// foo Hello World bar

⑤ 字符串嵌套

const tmpl = addrs => ` <table> ${ 
     addrs.map(addr => ` <tr><td>${ 
       addr.first}</td></tr> <tr><td>${ 
       addr.last}</td></tr> `).join('')} </table> `;

上面代码中, 模板字符串的变量之中, 又嵌入了另一个模板字符串, 使用方法如下。

const data = [
   { 
    first: '<Jane>', last: 'Bond' },
   { 
    first: 'Lars', last: '<Croft>' },
];
console.log(tmpl(data));
/**下面是打印结果 <table> <tr><td><Jane></td></tr> <tr><td>Bond</td></tr> <tr><td>Lars</td></tr> <tr><td><Croft></td></tr> </table> */

如果需要引用模板字符串本身, 在需要时执行, 可以写成函数。

let func = (name) => `Hello ${ 
     name}!`;
func('Jack') // "Hello Jack!"
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/171819.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vue入门教程(一)「建议收藏」

    vue入门教程(一)「建议收藏」1.vue简介1.1vue是什么官网:https://cn.vuejs.org/Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue也完全能够为复杂的单页应用提供驱动。1.2vue的特点1)遵循MVVM模式2)编码简洁,体积小,运行效率高,适合移动/PC端开发.

    2022年6月4日
    31
  • 领域驱动实践总结(基本理论总结与分析V+架构分析与代码设计+具体应用设计分析)

    领域驱动实践总结(基本理论总结与分析V+架构分析与代码设计+具体应用设计分析)领域驱动实践总结一:基本理论总结与分析一、领域驱动设计两大设计:战略设计和战术设计二、理解和分析领域+子域+核心域+通用域+支撑域三、理解和分析界限上下文,定义领域边界四、理解和分析实体和值对象五、理解和分析聚合思想:聚合和聚合根六、理解很分析领域事件来解耦微服务…

    2022年4月26日
    31
  • word-embedding_open compound word

    word-embedding_open compound wordWordEmbedding之CBOWCBOW模型结构准备文字数字化构建损失函数基于RNN的方法基于CBOW的方法CBOWCBOW是一个非常优秀的WordEmbedding模型,其原理非常简单,本文章尝试深入模型内部,探索这个模型的性能和表现。模型结构准备再介绍模型的网络结构之前,首先要介绍的是一个向量计算。假定特征为,x=(x0,x1,⋯&amp;amp;amp;amp;amp;ThinSpace;,xn−1…

    2022年9月3日
    2
  • 解决在打开word时,出现 “word 在试图打开文件时遇到错误” 的问题(亲测有效)[通俗易懂]

    解决在打开word时,出现 “word 在试图打开文件时遇到错误” 的问题(亲测有效)[通俗易懂]1.问题描述:最近在网上查找期刊论文的模板时,发现从期刊官网下载下来的论文格式模板,在本地用word打开时,出现错误,情况如下2.解决办法1.关闭提示窗口,打开左上角的【文件】按钮2.点击【选项】按钮3.点击【信任中心】>>>>【信任中心设置】4.选择【受保护视图】选项卡,将右侧窗口中红色框选的三个打勾选项取消打勾,点击确定,依次退出5.重新打开w…

    2022年5月29日
    82
  • Mac配置Android开发环境

    Mac配置Android开发环境1、下载jdk和AndroidStudio下载地址如下:jdk:https://www.oracle.com/java/technologies/javase-downloads.htmlAS:https://developer.android.google.cn/studio2、安装jdk安装,一直下一步,安装完成后打开“终端”,执行命令:java-version即可查看…

    2022年7月23日
    12
  • 外汇区块链内容平台_组建外汇交易工作室

    外汇区块链内容平台_组建外汇交易工作室在过去几年中,由区块链驱动的比特币对全球财务,特别是外汇行业产生了重大影响。这种创新的加密货币在全球范围内大肆挥霍,并成为头条新闻,很快就能感受到它的存在。虽然比特币很可能继续对外汇行业产生影响,但它实际上是锁定链,这种货币背后的技术,将对外汇行业产生更显着和不可逆转的影响。外汇产业的当前景观外汇市场是全球最大,最具流动性的市场。该行业每周五天,每天24小时开放,主要位于伦敦,而纽约市的每日营…

    2022年9月11日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号