美文网首页
模板字符串-不要随便换行、缩进

模板字符串-不要随便换行、缩进

作者: iamsharleen | 来源:发表于2021-01-31 23:15 被阅读0次

定义

模板字符串使用反引号 (``) 来代替普通字符串中的用双引号和单引号.
模板字符串可以包含特定语法(${expression})的占位符。

使用例子

`string text`
// 支持多行字符串
`string text line 1
 string text line 2`
// 支持插入表达式
`string text ${expression} string text`

在使用多行字符串的时候,很容易掉进一个坑。我们敲代码的时候习惯性的缩进,在模板字符串里面缩进符也是模板字符串中的一部分。

function toString() {
  return `POST / HTTP/1.1\r
    X-Foo2: customed\r
    Content-Type: application/x-www-form-urlencoded\r
    Content-Length: 11\r
    \r
    name = client1`;
}

上面的函数看起来是不是没问题,整整齐齐的。但是因为我想做的是模拟一个HTTP协议(真正的写法是有表达式的),结果发送出去服务器端接收出问题。开始我一直以为我服务器端代码写错了。检查了很久之后,把这段东西直接打印出来,发现好像不太一样~~

\\ 打印出来的结果是这样的
"POST / HTTP/1.1
    X-Foo2: customed
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 11
    
    name = client1"

\\ 如果不用模板字符串,用普通的双引号,结果是这样的
"POST / HTTP/1.1
X-Foo2: customed
Content-Type: application/x-www-form-urlencoded
Content-Length: 11

name = client1"

用模板字符串会,打印出来的结果会有缩进。
MDN中有定义:

在新行中插入的任何字符都是模板字符串中的一部分.

所以,如果你的函数的理想结果是会对缩进、换行等字符敏感的,使用模板字符串的时候,小心不要根据平时习惯来写。

function toString() {
     return `POST / HTTP/1.1\r
X-Foo2: customed\r
Content-Type: application/x-www-form-urlencoded\r
Content-Length: 11\r
\r
name = client1`;
}

MDN参考文档

相关文章

  • 模板字符串-不要随便换行、缩进

    定义 模板字符串使用反引号 (``) 来代替普通字符串中的用双引号和单引号.模板字符串可以包含特定语法(${exp...

  • ES6-字符串方法及其实现

    1.模板字符串 模板字符串替换+操作符,来拼接字符串,并且支持换行: 标签模板: 标签模板其实不是模板,而是函数调...

  • ES6字符串扩展

    字符串的Unicode表示法 字符串的遍历器接口 模板字符串` 长字符串换行 变量拼接 嵌套模板 带标签的模板字符...

  • JavaScript 模板字符串知识点归纳

    参考链接:模板字符串 换行 嵌入表达式 嵌套模板 在模板字符串内的 ${ } 占位符中,可以直接使用 ` 符号而无...

  • Python字符串处理

    导入string模块 每个单词首字母大写 替换字符串中的字符 字符串模板 高级字符串模板 调整字符串的缩进、宽度

  • ES6 字符串模板、字符串新增

    一. 字符串模板 1. ` ${变量的名字} `` 2. 3. 字符串模板``优点 (1)内部书写可以随意换行(...

  • Python基础干货

    1.Python是严格区分大小的。 2.Python不需要换行符 3.Python的缩进是有实际意义的,不要随便缩...

  • TS 字符串新特性

    No 1:声明多行字符串: ` 这里面支持换行 ` No 2:字符串模板 : `I am ${变量名}` ,...

  • 3、字符串模板``(1前边的那个键)

    字符串模板`` 1、字符串连接 ``可随意换行 2、includes str.includes("要查找内容...

  • ES6 - 模板字符串

    通过反引号使用模板字符串 1. 拼接字符串,使用${}插入变量 2. 解决字符串换行问题

网友评论

      本文标题:模板字符串-不要随便换行、缩进

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