javascript - es6 javascript推荐使用三元运算符应用模板文字的方法?

标签 javascript ecmascript-6 ternary-operator template-literals

我在开发中使用 eslint 和 Airbnb 风格指南。我收到 eslint 错误,建议使用模板文字而不是字符串连接(首选模板)。

它将此行标记为错误

':<br><br><pre style="color:red">' + softTab + err.stack.replace(/\n/g, '<br>' + softTab) + '</pre>' : '';

这是我的代码

const renderError = err => {
  const softTab = '&#32;&#32;&#32;&#32;';
  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/

相关文章:

javascript - 数组长度和 undefined index

javascript - 从 2 个输入获取并同时替换

javascript - 如何在 React 应用程序中访问 this.refs 不可用的函数中的 DOM 元素?

Groovy DSL : setting properties in closure

c - C中使用三元运算符的两个整数的最大值

javascript - 无法从 Github 的 GraphQL 渲染嵌套 Prop

javascript - 饼图 d3.js

Javascript 类在构造函数中或类外部定义属性

javascript - 如何从对象数组中为每个不同的 'number' 获取最大值为 'type' 的对象?

Java 三元运算符设置 True 或 false