本篇文章给大家带来的内容是关于es6中模板字符串用法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
概述
模板字符串出来以后,单引号、双引号哪个好的争论可以退出历史舞台的,模板字符串的`最好!
语法
单行文本
`string text`
登录后复制
多行文本
`string text line 1 string text line 2`
登录后复制
内嵌表达式
`string text ${expression} string text`
登录后复制
标签语法(不太喜欢)
tag `string text ${expression} string text`
登录后复制
单行文本
完全不 care 单引号和双引号,当然,转义`是不可避免的,有所得必有所失去嘛
let single=`string text, '' ""`` // "string text, '' ""`"
登录后复制
多行文本,也不用关系换行的编码转化问题了,也可以走开了
let multip=`string text line 1 string text line 2` // "string text line 1 // string text line 2"
登录后复制
所以我们可以这么写代码"let dom=` 我要换行 我还要换行`"虽然好像没什么卵用
登录后复制
表达式
这是模板字符串最大的作用了,有好极大好处呢
更强的阅读性和更不容易错的字符串拼接
let name='jack',age=23let summary=`my name is ${name}, age is ${age}`console.log(summary) // "my name is jack, age is 23"
登录后复制
对比一下之前的字符串拼接
let name='jack',age=23let summary='my name is ' + name + ', age is ' + ageconsole.log(summary) // "my name is jack, age is 23"
登录后复制
可以内嵌表达式,表达式也可以很复杂,但是不推荐
let num1 = 1, num2 = 2`${num1} + ${num2} = ${num1 + num2}` // '1 + 2 = 3'
登录后复制
模板字符串嵌套
let inner=`${`${'1'}`}` // 1
登录后复制
标签语法
我不太喜欢这个特性
function myTag(strings, personExp, ageExp) { var str0 = strings[0]; // "that " var str1 = strings[1]; // " is a " var str2 = strings[2]; // " " var ageStr; if (ageExp > 99){ ageStr = 'centenarian'; } else { ageStr = 'youngster'; } return str0 + personExp + str1 + ageStr;}var output = myTag`that ${ 'Mike' } is a ${ '22' }`;console.log(output);// that Mike is a youngster
登录后复制
原始字符串
标签函数的第一个参数strings.raw储存着原始字符串,未经转义
function tag(strings) { console.log(strings.raw[0]);}tag`string text line 1 string text line 2`; // "string text line 1 string text line 2"
登录后复制
使用String.raw()也是一样的效果,是两个字符。
var str = String.raw`Hi${2+3}!`;// "Hi5!"str.length;// 6str.split('').join(',');// "H,i,,n,5,!"
登录后复制
babel转义
源码
let name="jack",age=23let summary=`my name is ${name}, age is ${age}`
登录后复制
翻译后
var name = "jack", age = 23;var summary = "my name is " + name + ", age is " + age;
登录后复制
以上就是ES6中模板字符串用法介绍(附示例)的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2736977.html