首页 > web前端 > js教程 > 正文

ES6中模板字符串用法介绍(附示例)

不言
发布: 2018-11-14 15:49:56
转载
2604人浏览过

本篇文章给大家带来的内容是关于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, '' ""`"
登录后复制

多行文本,也不用关系换行的编码转化问题了,\n也可以走开了

let multip=`string text line 1
 string text line 2`
 // "string text line 1
 //  string text line 2"
登录后复制
所以我们可以这么写代码
"
let dom=`
    我要换行
    我还要换行
`
"
虽然好像没什么卵用
登录后复制

表达式

这是模板字符串最大的作用了,有好极大好处呢

更强的阅读性和更不容易错的字符串拼接

let name='jack',age=23
let summary=`my name is ${name}, age is ${age}`
console.log(summary) // "my name is jack, age is 23"
登录后复制

对比一下之前的字符串拼接

let name='jack',age=23
let summary='my name is ' + name + ', age is ' + age
console.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 \n string text line 2`; // "string text line 1 \n string text line 2"
登录后复制

使用String.raw()也是一样的效果,\n是两个字符。

var str = String.raw`Hi\n${2+3}!`;
// "Hi\n5!"
str.length;
// 6
str.split('').join(',');
// "H,i,\,n,5,!"
登录后复制

babel转义

源码

let name="jack",age=23
let summary=`my name is ${name}, age is ${age}`
登录后复制

翻译后

var name = "jack",
    age = 23;
var summary = "my name is " + name + ", age is " + age;
登录后复制

以上就是ES6中模板字符串用法介绍(附示例)的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
来源:segmentfault网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号