繁体   English   中英

如何在 Javascript 中实现三元赋值?

[英]How does one achieve ternary assignment in Javascript?

我想使用三元运算符在 Javascript(或 Typescript)中重新分配类变量。 的重新分配this.foo取决于电流值this.foo ,我可以与以下更新:

setFoo = () => {
    this.foo = this.foo ? "" : "foo";
}

不过,我想知道如果我能做到的再分配this.foo无需编写this.foo两次。 这会很有帮助,因为我正在尝试动态更新 Angular 组件(用 Typescript 编写)上的类。

我希望能够使用真/假值编写如下内容。 如果this.foo为真,则分配"" 否则,分配"foo"

setFoo = () => {
    this.foo =? "" : "foo";
}

我曾尝试搜索类似的问题,但找不到答案。 我最初的想法是在 Typescript 4.0 中使用 ??= 运算符,但我认为它行不通。 也许我的理想解决方案不存在,因为它可能是一个糟糕的编程习惯。 谢谢

很好的问题。 不幸的是,这是不可能的 有一些人使用的速记版本,但它仍然包含重复:

foo = foo || otherCondition;

所以速记的速记,在我看来不是太有用。

简短回答:我会选择普通的三元。

您必须使用 IF ELSE 而不是使用三元语句,if else 将使您更好地控制在它下编写的语句并且使用效率更高。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM