前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >es6字符串的方法_es6模板字符串

es6字符串的方法_es6模板字符串

作者头像
全栈程序员站长
发布2022-09-24 13:20:13
3240
发布2022-09-24 13:20:13
举报

大家好,又见面了,我是你们的朋友全栈君。

模板字符串(template string)也就是模板字面量,是增强版的字符串,用反引号(`)来表示。它既可以当作普通字符串来使用,也可以在字符串中嵌套变量。

注意:在模板字符串中嵌入变量的时候,需要将变量名写在${}中。

传统的JS语言,写法(拼字符串)相当繁琐不方便,ES6 引入了模板字符串解决这个问题,传统的输出模板通常是下面这样写的:

代码语言:javascript
复制
var a = 1;
var b = 2;
var sum = a + b;
var res = a + '+' + b + '的和是' + sum;
console.log(res);

// =======================================

var obj = { 
   name:'张三;',age:18};
var str = '姓名:'+obj.name+'年龄:'+obj.age;
console.log(str);

结果:

es6字符串的方法_es6模板字符串
es6字符串的方法_es6模板字符串

引入了模板字符串后,输出模板是下面这样写的:

代码语言:javascript
复制
var a = 1
var b = 2;
var sum = a + b;
var res = `a+b的和是${ 
     sum}`;
console.log(res);

// =======================================

var obj=  { 
   name:'张三;',age:18};
var str = `姓名:${ 
     obj.name}年龄:${ 
     obj.age}`;
console.log(str);

结果:

es6字符串的方法_es6模板字符串
es6字符串的方法_es6模板字符串

可以看出,上面代码中的模板字符串,都是用反引号表示。那么如果要在模板字符串中需要使用反引号,该怎么写呢?则前面要用反斜杠转义。 如下所示:

代码语言:javascript
复制
let a= `\`Hello\` World!`;

结果:

es6字符串的方法_es6模板字符串
es6字符串的方法_es6模板字符串

当我们使用模板字符串表示多行字符串的时候,要注意,此时所有的空格和缩进都会被保留在输出之中。 代码如下:

代码语言:javascript
复制
let a = `H e l l o `;
console.log(a);

结果:

es6字符串的方法_es6模板字符串
es6字符串的方法_es6模板字符串

${}的大括号内部可以放入任意的 JS表达式,可以进行运算,也可以引用对象属性。 如下所示:

代码语言:javascript
复制
let x = 1;let y = 2;

let sum1 = `${ 
     x} + ${ 
     y} = ${ 
     x + y}`;
console.log(sum1); // 1 + 2 = 3

let sum2 =`${ 
     x} + ${ 
     y * 2} = ${ 
     x + y * 2}`;
console.log(sum2); // 1 + 4 = 5

let obj = { 
   x: 1, y: 2};

let sum3 = `${ 
     obj.x + obj.y}`;
console.log(sum3); // 3

结果:

es6字符串的方法_es6模板字符串
es6字符串的方法_es6模板字符串

${}的大括号内部不光可以进行运算、引用对象属性,还可以调用函数。 如下所示:

代码语言:javascript
复制
function fn() { 
   
  return "Hello World";
  }
let res = `foo ${ 
     fn()} bar`;
console.log(res); // foo Hello World bar

结果:

es6字符串的方法_es6模板字符串
es6字符串的方法_es6模板字符串

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档