美文网首页
ES6模版字符串的用法

ES6模版字符串的用法

作者: 王阿王 | 来源:发表于2017-11-27 18:25 被阅读0次

前言

早些年的数据交互通常是用模板引擎或是拼字符串的方式 输出模板,这种方案相当繁琐而不方便,ES6引入了 模板字符串来解决这个问题。

模板字符串(template string)

概念: 模板字符串是增强板的字符串, 用反引号( ` )标识,
用途:
1、当作普通字符串使用
2、定义多行字符串
3、在字符串中嵌入变量

基本用法

//、当作普通字符串使用
`In JavaScript '\n' is a line-feed.`

//、定义多行字符串
`In JavaScript this is
 not legal.`
console.log(`string text line 1
string text line 2`);

//、在字符串中嵌入变量
var name = "Bob", time = "today";
`Hello ${name}, how are you ${time}?`

**注意:
1、因为模板字符串是用反引号(  `  )标识,
所以如果在模板字符串中需要使用反引号,需要在前面用反斜杠转译
 `yo`world
  var str=`\`yo\`world\
2、如果使用模板字符串表示多行字符串,所有的空格和缩进都会被保留在输出中
3、在模板字符串中嵌入变量,需要将变量名写在${}中
     `Hello ${name}, how are you ${time}?`
4、在${}中,可以放入任意的javascript表达式,可以进行运算,以及引用对象属性
   var x = 1;
   var y = 2;

   `${x} + ${y} = ${x + y}`
   // "1 + 2 = 3"

   `${x} + ${y * 2} = ${x + y * 2}`
   // "1 + 4 = 5"

   var obj = {x: 1, y: 2};
   `${obj.x + obj.y}`
   // 3
5、模板字符串中还可以调用函数
  function fn() {
     return "Hello World";
   }

  `foo ${fn()} bar`
  // foo Hello World bar

标签模板

模板字符串可以紧跟在一个函数名后面,该函数将被调用 来处理这个模板字符串。这被称之为 “标签模板” 功能。
用途:
过滤html 字符串,防止用户故意输入恶意内容。

var message =
  SaferHTML`<p>${sender} has sent you a message.</p>`;

function SaferHTML(templateData) {
  var s = templateData[0];
  for (var i = 1; i < arguments.length; i++) {
    var arg = String(arguments[i]);

    // Escape special characters in the substitution.
    s += arg.replace(/&/g, "&")
            .replace(/</g, "<")
            .replace(/>/g, ">");

    // Don't escape special characters in the template.
    s += templateData[i];
  }
  return s;
}

上面代码中,sender变量往往是用户提供的,经过SaferHTML函数处理,里面的特殊字符都会被转义。

相关文章

  • es6字符串

    es6多了两个新方法 和python用法一样startsWithendsWith 字符串模版 使用反引号,${变量...

  • String

    字符串的遍历器接口 ES6为字符串添加了遍历器接口,使得字符串可以被for...of循环遍历 模版字符串 模版字符...

  • es6模版字符串`${ }`

    ES6 的 模版字符串(Template Strings ) 就是用占位符的方式来拼接字符串

  • ES6模版字符串的用法

    前言 早些年的数据交互通常是用模板引擎或是拼字符串的方式 输出模板,这种方案相当繁琐而不方便,ES6引入了 模板字...

  • 模版字符串—ES6

    今天在项目中用到了模版字符串,在此感谢小马同学的知识分享。 1、ES6中提供的模版字符串 在使用模板字符串之前我们...

  • 模版字符串

    ES6中提供了模版字符串,****用`(反引号)标识,用${}将变量括起来。上面的例子可以用模版字符串写成下面这样...

  • 字符串模板

    ES5下必须用+js+这样的形式进行拼接。ES6新增了字符串模版。字符串模版不再使用‘xxx’这样的单引号,而是换...

  • 每日总结

    每日单词 ES6模版字符串 语法:模板字符串(Template String)是增强版的字符串,用反引号(`)标识...

  • React设置多个classNames

    方法一:ES6模版字符串 方法二:join("") 方法三:classnames(需要下载classnames)

  • 前端高频面试题

    ES6语法:let const 箭头函数 Map Set 字符串模版 块级 数组与字符串[https://deve...

网友评论

      本文标题:ES6模版字符串的用法

      本文链接:https://www.haomeiwen.com/subject/djidbxtx.html