首頁  >  文章  >  web前端  >  就像我是你的學弟一樣解釋:為什麼是?好的?

就像我是你的學弟一樣解釋:為什麼是?好的?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-03 11:03:02341瀏覽

我寫 JS 已經快二十年了,但我還是不明白為什麼?不是反模式的開始,特別是對於方法呼叫。

我看到貼文了

引起我注意的是第二個「帶有函數呼叫的可選鏈」:

const user = {
getName: () => 'Alice',
};
console.log(user.getName?.());   // Alice
console.log(user.getAge?.());    // undefined

這尖叫著「我不知道我的對象的接口,而且我不在乎。」

你絕對應該關心你的物件的介面。

如果庫 API 發生變化,我幾乎可以看到魯棒性的論點,但不,如果您使用庫,您知道對象的接口,請修復您的程式碼。

它看起來就像是一個巨大的蟲子吸引器。

你永遠不希望某些東西是未定義的。或者我錯過了有關此的備忘錄?

對於方法來說,這更重要。如果兩個物件沒有相同​​的行為,則需要將它們視為不同的類型,而不僅僅是聳聳肩並說「沒關係」。

如今測試 null 違法嗎?我知道 null 被稱為十億美元的錯誤,但這是透過選項類型(如 Haskell 中的 Maybe)解決的,而不是看起來相反的問題。

選項類型讓您知道這可能為空,因此請謹慎操作。它並沒有隱藏事實,例如?是的。

儘管如此,我很高興能夠擺脫這樣的觀念? 。在檢查 null 時只是把罐頭踢到路上,或者在未定義時只是糟糕的設計。

什麼是好的模式,也就是可以減少錯誤的模式,您可以使用? .?

以上是就像我是你的學弟一樣解釋:為什麼是?好的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:揭秘設計模式下一篇:揭秘設計模式