This discussion很有意思,但我找不到真正适合我的东西,因为我真的只想在对象的存在上返回true
或false
。我也非常不喜欢冗长的代码,我正在寻找一种简单易用的方法来编写最简单的东西。
例如,它的定义如下:Bigobject.option
但可能尚不存在。
所以我想出了这个:
(!Bigobject.option == false)
,如果false
尚未存在,则返回option
,如果已设置为true
,则返回{{1}},包括“无”或空字符串,对象或数组。
这是一种奇怪的方式吗?它是“合法的”吗?这是否能够始终如一地运作?我应该以不同的方式做吗?谢谢你的帮助。
答案 0 :(得分:1)
对我而言,这是关于功能性之后的可读性。
(!Bigobject.option == false)
很难读到你没有做过的事情。尝试将您的代码读作以前从未见过您的代码的人。你能预测(!Bigobject.option == false)
会立即返回什么吗?
我同意链接问题中的选定答案,因为您(可能)会知道(Bigobject.option === null)
作为新读者的内容。
做你要问的事:返回一个变量存在的bool。我会使用(typeof(Bigobject.option) === "undefined")
,除非Bigobject.option
可能是字符串"undefined"
这是一种奇怪的方式吗?它是“合法的”吗?
这是否能够始终如一地运作?
我应该采取不同的方式吗?