AnA*_*ice 1 javascript reactjs eslint
我收到以下 linting 错误: Unconditional use of conditional expression for default assignment
下面有什么问题吗?
(myOverride) ? myOverride : MAGIC_HOST,
Run Code Online (Sandbox Code Playgroud)
如果定义了 myOverride 我想使用 myOverride,如果没有定义我想使用 env var MAGIC_HOST。
显然您正在使用 ESLint(因为该错误是一个 ESLint)错误。这是因为该no-unneeded-ternary规则旨在标记条件运算符的不必要使用(他们称之为“三元”)¹。从链接的文档:
另一个常见的错误是使用单个变量作为条件测试和结果。在这种情况下,逻辑 OR 可用于提供相同的功能。下面是一个例子:
Run Code Online (Sandbox Code Playgroud)// Bad var foo = bar ? bar : 1; // Good var foo = bar || 1;
所以规则告诉你myOverride || MAGIC_HOST改用。
你不具备对,还有你的代码是不是错了。只是它没有通过 ESLint 规则。
¹ “他们称之为‘三元’” ——条件运算符是一个三元运算符(一个接受三个操作数的运算符,就像*一个二元运算符——一个接受两个操作数的运算符)。目前,它是JavaScript 唯一的三元运算符。但随着语言的发展,这不一定总是正确的。它被正确地称为条件运算符。
| 归档时间: |
|
| 查看次数: |
2322 次 |
| 最近记录: |