首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无条件使用条件表达式进行默认赋值

无条件使用条件表达式进行默认赋值
EN

Stack Overflow用户
提问于 2018-01-22 19:42:08
回答 2查看 3.9K关注 0票数 2

我得到了以下线型错误:Unconditional use of conditional expression for default assignment

下面是怎么回事?

代码语言:javascript
运行
复制
(myOverride) ? myOverride : MAGIC_HOST,

如果定义了myOverride,我希望使用myOverride,如果没有定义,则使用env MAGIC_HOST

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-22 19:49:50

显然,您使用的是ESLint (因为该错误是ESLint)错误。这是因为规则是用来标记不必要地使用条件运算符(他们称之为“三元”)。从链接的文档:

另一个常见的错误是使用一个变量作为条件测试和结果。在这种情况下,逻辑OR可以用来提供相同的功能。下面是一个示例: // Bad var foo = bar?bar : 1;// Good var foo = bar \x l;

因此,规则是告诉您使用myOverride || MAGIC_HOST代替。

你不必这么做,你展示的代码并没有错。只是它不符合ESLint规则。

1“他们称它为‘三元’--条件运算符是--三值运算符(接受三个操作数的运算符,就像*是二进制操作数-接受两个操作数的运算符)。现在,,唯一的三值运算符JavaScript。但随着语言的发展,这并不一定总是正确的。它被正确地称为运算符

票数 8
EN

Stack Overflow用户

发布于 2018-01-22 19:43:46

它本身并不是错误的,但最好写成:

代码语言:javascript
运行
复制
myOverride || MAGIC_HOST

正如所解释的,这里

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48389096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档