首页  >  文章  >  web前端  >  就像我是你的学弟一样解释:为什么是?好的?

就像我是你的学弟一样解释:为什么是?好的?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-03 11:03:02345浏览

我写 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