第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

給你老弟講講:為什么可選鏈 `?.` 好用又惹爭(zhēng)議?

標(biāo)簽:
JavaScript React.JS Vue.js

我差不多有二十年一直在写 JavaScript 了,但我还是不明白为什么 ?. 不会被认为是一种反模式,特别是在方法调用时。

我看到了那条帖子

jagroop2001 ## 20 个每个开发者都应该知道的 JavaScript 小技巧 🚀 Jagroop Singh ・ 10月28日 #webdev #javascript #discuss #beginners

其中有一项引起了我的注意,即编号2 “包含函数调用的可选链”

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

点击全屏模式 点击退出全屏

这句在喊“我不知道我对象的接口,也不管”。

你应该绝对关心对象的接口。

我几乎能理解在库API改变时对健壮性的需求,但不是这样,如果你在使用一个库,你应该熟悉对象的接口,调整你的代码。

这看起来就像一个巨大的虫子陷阱。

你绝不会希望某件事处于 未定义 状态。或者我是不是哪里没跟上?

特别是对于方法来说更是如此。如果两个对象的行为不一样,应该把它们当成不同的类型来处理,不能只是说“没关系”。

现在检查 null 是否非法?我知道 null 被戏称为十亿美元的错误,但这可以通过使用如 Haskell 中的 Maybe 这样的可选类型来解决,而不是看起来的反面。

一种可选类型表明这可能是空的,因此在处理时要小心。它不会像 ?. 一样隐藏事实。

说了这么多,我很高兴能纠正这种想法,即?.不仅仅是拖延问题,处理null时;处理undefined时也不仅仅是因为设计不当。

使用 ?. 可以减少 bug 的好模式是什么?

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消