问题标签 [safe-navigation-operator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 返回包含安全导航运算符的语句结果为布尔值
我刚开始第一次在 C# 中使用安全导航运算符,我想知道这是否是该运算符的正确用例:
为什么这段代码没有给我编译器错误?我认为如果例如结果为 nullthis.Notification
或为 null,则结果为this.Notification.Attributes
null,但return null
另一方面不起作用,因为它似乎没有隐式转换为 false。如果我在这里没有正确使用运算符,有人可以解释我如何在我的用例中正确使用它吗?
ruby - 当接收器为 nil 时,Ruby 安全导航运算符是否评估其参数?
问题:
Ruby 安全导航运算符 ( &.
) 是否在其接收器为 时评估其参数nil
?
例如:
"Something important happened..."
字符串是否在这里评估?- 您能否提供一个权威来源,证明或否认这一事实?
- 或者建议一种如何检查它的方法?
提前致谢。
为什么我要寻找这个问题的答案?
我在整个代码库中都有如下代码:
if verbose
我的主要目标是在我调用该方法时删除重复检查,log
因为它很容易忘记它,并且您根本不会收到有关误用的通知。
受Tell启发,不问原则,
我已经在方法实现中移动了if verbose
检查。log
if verbose
这种方法简化了我的代码,因为我已经解决了我的主要问题 -每当我调用该log
方法时,我都不需要记住放置,
但我收到了另一个问题。
"Something important..."
string 总是被评估,无论verbose
是true
还是false
。
因此,我完全改变了解决方案:
logger
nil
何时返回。verbose
_false
- Ruby 安全导航运算符应在
log
调用前使用。
结果,我将最初记住if verbose
检查的问题替换为记住&.
调用。
但是,无论如何,我认为这是一种改进,因为忘记使用安全导航操作符会引发NoMethodError
,换句话说,通知log
方法误用。
所以现在,为了确保“安全导航操作员方法”实际上是解决我的问题的“更好”选择,
我需要确切知道 Ruby 中的安全导航运算符是否在其接收器为nil
.
angular - 版本 <3.7 的打字稿文件是否有安全导航运算符的替代品
我正在寻找安全导航运算符的替代品,因为我的打字稿版本是 3.2。如果我必须检查 3 到 4 个键,我的代码会变得非常冗长。
假设我想检查Obj.key1.key2,key3
然后我的代码是这样的
ruby-on-rails - 在 Rails 中引用关系时使用 &
我正在阅读一本教程书,我遇到了一些我以前从未见过的东西。在 Rails 中,我习惯于获取这样的关系的值
这本书的作者&
在这样做时使用了操作符,它似乎做了同样的事情(我相信我理解&
操作符,我只是从未见过这样使用它)
对此没有任何解释,所以我认为它只是另一种编写方式,但在使用 Rails 和阅读书籍/教程的多年中,我从未见过这种情况。
这样做有性能原因,还是只是个人喜好?
turbo_frame_tag
如果这有什么不同的话,那就是在里面。