簡體   English   中英

三元運算符返回“true:false”。為什么?

[英]Ternary operators returning “true : false”. Why?

通過我們的項目,Coworker讓我通過字符串“true:false”grep,我發現很多三元運算符返回顯式的真或假。 例如:

return this.state == Cursor.CLOSED ? true : false;

不僅僅是在我們的項目中,而且有很多模塊/庫可以做到這一點。 對我來說這似乎是多余的,因為作者可能只是這樣寫的:

return this.state == Cursor.CLOSED;

它是針對Javascript中的一些陷阱的防御性編碼嗎? 或者只是明確你要回來的東西?

它是針對Javascript中的一些陷阱的防御性編碼嗎?

編號==總是返回一個布爾值。

條件是完全多余的,並被認為是一種不好的做法。 簡化它!

這是非常不必要的,但在許多語言中這是一個非常常見的錯誤†。 因為相等運算符幾乎完全用於條件,一些知識淵博的程序員不知道,更有經驗的程序員偶爾會忘記它實際上可以用於它的價值。 從來沒有任何重要的JavaScript實現具有使這必要的怪癖。

†“錯誤”在這里感覺不友好,因為代碼是正確的,只是不必要的冗長。 但我想你知道我的意思。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM