我在开发airbnb风格指南时使用了eslint。我收到eslint错误建议使用模板文字而不是字符串连接(首选模板)。
它将此行标记为错误
<代码>':
这是我的密码
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, '
这是我想出的解决方案,以套件airbrb风格指南。
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}`, {});
};
这与三元运算符没有太大关系。您只需将字符串连接替换为模板文字(或者至少,样式指南中说您应该这样做):
`:<br><br><pre style="color:red">${ softTab }${ err.stack.replace(/\n/g, `<br>${softTab}`) }</pre>'
也就是说,你可能不想在这里使用三元:
function renderError(err) {
const softTab = '    ';
let message = 'Server Error';
if (process.env.NODE_ENV !== 'production') {
message += ':<br><br><pre style="color:red">';
message += softTab + err.stack.replace(/\n/g, '<br>' + softTab);
message += '</pre>';
}
return renderFullPage(message, {});
}
或者,使用CSS代替<code>
function renderError(err) {
let message = 'Server Error';
if (process.env.NODE_ENV !== 'production')
message += `:<pre style="margin-top:2em;padding-left:3em;color:red;">${err.stack}</pre>`;
return renderFullPage(message, {});
}
在 ES6 中,您可以使用模板文本而不是字符串串联。为此,请使用反引号 (')(重音符)字符而不是双引号或单引号。模板文本可以包含占位符。这些由美元符号和大括号 (${expression}) 表示。所以你的情况:
`:<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
问题内容: 如何使用AngularJS(在模板中)进行三元运算? 最好在html属性中使用一些属性(类和样式),而不是创建和调用控制器的函数。 问题答案: 更新 :Angular 1.1.5添加了一个三元运算符,因此现在我们可以简单地编写 如果使用的是较早版本的Angular,则有两个选择: 上面的项目2创建具有两个属性的对象。数组语法用于选择名称为true的属性或名称为false的属性,并返回关
本文向大家介绍JS常用字符串方法(推荐),包括了JS常用字符串方法(推荐)的使用技巧和注意事项,需要的朋友参考一下 JS常用字符串方法(推荐) // 以下省略前半部分的 " str01. " (部分不是这个喔) charAt(num) // 得到指定索引位置的单字符 charCodeAt(num) // 得到指定索引位置字符的Unicode值 (ascii为其子集) concat(str01,st
条件(三元)运算符是 JavaScript 仅有的使用三个操作数的运算符。一个条件后面会跟一个问号(?),如果条件为 truthy ,则问号后面的表达式A将会执行;表达式A后面跟着一个冒号(:),如果条件为 falsy ,则冒号后面的表达式B将会执行。本运算符经常作为 if 语句的简捷形式来使用。(MDN) 三元运算符,也称条件运算符、三目运算符。 三元运算符可以代替简单的 if 语句。 1. 语
我对这个错误有意见 错误LNK2019未解析的外部符号"类std::basic_ostream 现在,< code>post所做的就是调用< code >操作符 宣言 定义 它们分别位于文件和中,我要求运算符不是成员函数(用于赋值)。
问题内容: Netbeans说我的三元运算符不是语句。怎么会? 我尝试过if / then / else对应项,并且工作正常: 问题答案: 三元运算符中的语句必须是非空的。他们需要退货。