【问题标题】:Is there a JS equivalent for C# "?." operator? [duplicate]是否有 C# 的 JS 等价物“?。”操作员? [复制]
【发布时间】:2019-02-09 16:22:43
【问题描述】:

我要找的其实是JS的捷径 obj.fn && obj.fn(); 代码。原因之一是有时obj.fn 部分可能很长。

C# 为此使用Null Conditional Operatorsobj?.fn()

【问题讨论】:

  • 你说的是空合并操作符吗?它已经在那里了...?:
  • 让我知道这不是那个问题的骗局...:)
  • 不,实际上 JavaScript 中没有这样的运算符,但计划在未来的版本中使用:tc39.github.io/proposal-optional-chaining
  • @PraveenKumarPurushothaman 这不是重复的。 ?.?? 不同,后者是 C# 的实际 null coalescing 运算符
  • 似乎他们正在考虑实现此功能,但截至 2018 年 3 月,他们仍未包含此功能。 beyondjava.net/…

标签: javascript c# syntactic-sugar


【解决方案1】:

其中一个原因是有时 obj.fn 部分可能很长。

var a = obj.fn;
a && a();

现在您只使用一次长部分。这可能是您在 javascript 中最接近的。

【讨论】:

  • 如果你要这样做,你可能需要将函数绑定回obj
猜你喜欢
  • 1970-01-01
  • 2010-09-29
  • 2013-05-17
  • 1970-01-01
  • 2021-05-14
  • 1970-01-01
  • 2012-06-08
  • 2012-12-17
相关资源
最近更新 更多