使用es6多行模板字符串,没有换行并允许缩进。

22 浏览
0 Comments

使用es6多行模板字符串,没有换行并允许缩进。

最近在工作中越来越多地使用es6。但是有一个限制是模板字符串。

我喜欢将每行字符数限制在80个以内。所以如果我需要连接一个长字符串,使用字符串拼接是可以的,因为拼接可以跨多行进行,像这样:

const insert = 'dog';
const str = 'a really long ' + insert + ' can be a great asset for ' +
  insert + ' when it is a ' + dog;

然而,如果我尝试使用模板字符串来实现这个,结果将是一个多行字符串,其中${insert}会将dog放在最终的字符串中。这在你想要使用模板字符串来进行URL拼接等操作时并不理想。

我还没有找到一种好的方法来保持我的行字符限制,并且仍然可以使用长的模板字符串。有人有什么想法吗?

另一个被标记为被接受的问题只是部分回答。以下是我之前忘记包括的另一个关于模板字符串的问题。

使用换行符的问题是它不允许缩进,除非将空格插入到最终的字符串中。例如:

const insert = 'dog';
const str = `a really long ${insert} can be a great asset for\
  ${insert} when it is a ${insert}`;

生成的字符串看起来像这样:

a really long dog can be a great asset for  dog when it is a dog

这只是一个小问题,但如果有一种修复方法可以允许多行缩进将是有趣的。

0