gpt4 book ai didi

javascript - 不破坏缩进的多行字符串

转载 作者:行者123 更新时间:2023-12-02 21:02:42 24 4
gpt4 key购买 nike

根据this esdiscuss discussion ,在 ECMAScript 6 中可以定义多行字符串,而不必将字符串的后续行放在行的最开头。

Allen Wirfs-Brock’s post包含一个代码示例:

var a = dontIndent
`This is a template string.
Even though each line is indented to keep the
code neat and tidy, the white space used to indent
is not in the resulting string`;

有人可以解释一下这是如何实现的吗?如何定义这个 dontIndent 事物以删除用于缩进的空格?

最佳答案

2020 年答案:JS stdlib 中仍然没有内置任何内容来处理消除长行凹痕,尽管 TC39 has discussed adding a new template literal that handles indentation 。目前您有 2 个选择:

  1. endentdedent-js包会处理这个问题。请注意,dedent-js 包实际上适用于制表符和空格。
    var dedent = require('dedent-js');
    var text = dedent(`
<div>
<span>OK</span>
<div>
<div></div>
</div>
</div>
`);

将去掉每行前面的空格和前导回车符。它还拥有更多用户、问题跟踪器,并且比从 Stack Overflow 复制粘贴更容易更新!

注意:dedent 是与 dedent-js 不同的包,并且 dedent 在选项卡上失败。

  • 不要缩进长行,但使用将长行显示为缩进的编辑器。例如,vsCode - 您可以简单地使用长行,不缩进任何内容,并在长字符串中包含回车符。 vsCode 将显示它们缩进。下面的字符串没有缩进 - 第二行 Theemptyexport... 紧接在回车符之后,但显示为缩进。
  • enter image description here

    关于javascript - 不破坏缩进的多行字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25924057/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com