zoukankan      html  css  js  c++  java
  • ES6模板字符串

    介绍:

    样子: `` 反引号,tab上面的那个键,同该符号包裹的字符串能够带来的功能如下:

    • 可以包涵换行
      • 在反引号以内,可以有多个换行,都能够在使用的时候被识别
    • 可以嵌入变量
      • 使用美元符号和大括号包裹变量${对象名.属性名}
    • 可以原生输出 
      • 原生输出包含转义字符串的内容String.raw模板字符串

    例子:

    • 传统的JavaScript语言,输出模板通常是这样写的,字符串拼接很让人头疼,也很容易出错。
    复制代码
    $('#result').append(
      'There are <b>' + basket.count + '</b> ' +
      'items in your basket, ' +
      '<em>' + basket.onSale +
      '</em> are on sale!'
    );
    复制代码
    • ES6引入了模板字符串解决这个问题
    $('#result').append(`
      There are <b>${basket.count}</b> items
       in your basket, <em>${basket.onSale}</em>
      are on sale!
    `);
    • 如果使用模板字符串表示多行字符串,所有的空格和缩进都会被保留在输出之中。
    复制代码
    $('#list').html(`
    <ul>
      <li>first</li>
      <li>second</li>
    </ul>
    `);
    复制代码
    • 模板字符串中嵌入变量,需要将变量名写在${}之中。(注:不声明会报错)
    let name = 'jim',
         age = 18,
         gender = 'male';
    console.log(`name : ${name} , age : ${age} , gender : ${gender}`)
    • 大括号内部可以放入任意的JavaScript表达式,可以进行运算,以及引用对象属性,而且还能调用函数
    复制代码
    let x = 1,
        y = 2;
    console.log(`${x} + ${y * 2} = ${x + y * 2}`)//  "1 + 4 = 5"

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

    function fn() { return "Hello World"; } console.log(`foo ${fn()} bar`)// foo Hello World bar
    复制代码
    • 模板字符串还可以嵌套
    复制代码
    const tmpl = addrs => `
      <table>
      ${addrs.map(addr => `
        <tr><td>${addr.first}</td></tr>
        <tr><td>${addr.last}</td></tr>
      `).join('')}
      </table>
    `;
     
  • 相关阅读:
    Android Studio使用笔记
    Android Material Design之在RecyclerView中嵌套CardView实现
    RR 和RC 幻读问题
    mysql rr和rc区别
    7.2 Database Backup Methods 数据备份方法:
    7.1 Backup and Recovery Types 备份和恢复类型
    Chapter 7 Backup and Recovery 备份和恢复:
    mysqldump 一些参数体验
    (?m) 可以让.去匹配换行
    perl 正则前导字符
  • 原文地址:https://www.cnblogs.com/yesu/p/9548245.html
Copyright © 2011-2022 走看看