我在开发中使用 eslint 和 Airbnb 风格指南。我收到 eslint 错误,建议使用模板文字而不是字符串连接(首选模板)。
它将此行标记为错误
':<br><br><pre style="color:red">' + softTab + err.stack.replace(/\n/g, '<br>' + softTab) + '</pre>' : '';
这是我的代码
const renderError = err => {
const softTab = '    ';
const errTrace = process.env.NODE_ENV !== 'production' ?
':<br><br><pre style="color:red">' + softTab + err.stack.replace(/\n/g, '<br>' + softTab) + '</pre>' : '';
return renderFullPage(`Server Error${errTrace}`, {});
};
我的问题是使用三元运算符应用模板文字的推荐方法是什么?我将其应用于函数返回,但根据我在此行上应用模板文字的位置会导致错误。理想情况下,我尝试完成整行,但在尝试通过 ${softTab}
时遇到问题到err.stack.replace(/\n/g, '<br>' + softTab)
任何建议或解决方案都会很棒。谢谢!
最佳答案
在 ES6 中,您可以使用模板文字而不是字符串连接。为此,您可以使用反引号 (`)(重音符号)字符而不是双引号或单引号。模板文字可以包含占位符。这些由美元符号和大括号 (${表达式}) 指示。所以你的情况:
`:<br><br><pre style="color:red">${ softTab }${ err.stack.replace(/\n/g, `<br>${softTab}`) }</pre>`
有关此内容的进一步阅读: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
关于javascript - es6 javascript推荐使用三元运算符应用模板文字的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36292009/