ES6 字符串模板方法

2023-07-11 09:09:1206:04 1458
所属专辑:javascript面试题
声音简介



【1、字符串模板方法】
传统的 JavaScript 语言,输出模板是使用+拼接的,或则使用replace替换的
1、"<span>"+user.name+"</span>"
2、"<span>#name</span>" .replace("name",user.name);


这种写法相当繁琐不方便,ES6 引入了模板字符串解决这个问题


模板字符串是增强版的字符串,用反引号(`)标识。
它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。
   模板字符串中嵌入变量,需要将变量名写在${}之中
    比如   var  user={name:"tom"};
    在末班字符串中输出   `hello word ${user.name} `

   ${}大括号内部可以放入任意的 JavaScript 表达式,可以进行运算,以及引用对象属性。模板字符串之中还能调用函数。
   
   模板字符串可以表示多行字符串,所有的空格和缩进都会被保留在输出之中。你不想要这个换行,可以使用trim方法消除它
   
【2、标签模板】
   模板字符串可以紧跟在一个函数名后面,该函数将被调用来处理这个模板字符串。这被称为“标签模板”
   比如  alert(123) 使用标签模板 可以写成  alert`123`   
   
   标签模板其实不是模板,而是函数调用的一种特殊形式。“标签”指的就是函数,紧跟在后面的 模板字符串 就是它的参数.
   
   但是,如果模板字符里面有变量,就不是简单的调用了,而是会将 模板字符串 先处理成多个参数,再调用函数。
     let a = 5;let b = 10;
handler `Hello ${ a + b } world ${ a * b } tom`;    =  handler(['Hello ', ' world ', 'tom'], 15, 50);
    
    第一个参数是一个数组,该数组的成员是模板字符串中那些没有变量替换的部分    
    其他参数,都是模板字符串各个变量被替换后的值。             刚才例子中,模板字符串含有两个变量,因此tag会接受到value1和value2两个参数。
 
   
String.raw()
    
   String.raw方法,往往用来充当模板字符串的处理函数,返回一个斜杠都被转义(斜杠前面再加一个斜杠)的字符串,对应于替换变量后的模板字符串。
   var  shuchu=`Hi\n${2+3}!`;
   //换行已经没有了   Hi
                    5
   
   // 返回 "Hi\\n5!"
   
   如果原字符串的斜杠已经转义,那么String.raw会进行再次转义。
   可以作为处理模板字符串的基本方法,它会将所有变量替换,而且对斜杠进行转义,方便下一步作为字符串来使用.
   





用户评论

表情0/300

itwangyang520

老是,这个有没有对应的数据呀,这样边看,你边讲,边敲,这样效果更好

音频列表
猜你喜欢
文玩珠串设计教程模板

不管你是文玩小白不管你是文玩骨灰级玩家这里都有你借鉴之处,孜慕免费为关注的粉丝设计搭配

by:孜慕

模板

一起来听吧

by:甜小玉

犹太人的故事:寻找失落的字符

适听人群:对犹太历史感兴趣的读者。横跨了几千年时间和几个大洲——从埃及到希腊;从阿拉伯到基督教世界;从印度到安达卢西亚;从开罗的集市到牛津的大街;从三大宗教的...

by:多云下的蛋

申论万能模板

来源遴选的柚子

by:溪俞xy

Java服务器端模板引擎_细说Thymeleaf模板引擎技术

Java技术交流qun:234446703验证消息:喜马拉雅(群里也可获取源码资料哦)或者:+v号java1060Thymeleaf是一种服务器端Java模...

by:动力节点教育

北方曲艺:反串

说是反串,其实也不都是反串,有的作品是演员演唱年轻时的本功

by:志扬小盆友