这篇介绍了 ?. 运算符来重构或简化代码的一些场景和做法。
https://lea.verou.me/2020/06/refactoring-optional-chaining-into-a-large-codebase-lessons-learned/
注意下方法的调用需要先判断方法名是否存在, 这个跟调用数组类型。如:
if (foo && foo.bar && foo.bar.baz) {
foo.bar.baz();
}
# refactored:
foo?.bar?.baz?.() # 先判断baz属性是否存在,再调用
# array的取值方法
if (foo.length > 3) {
foo[2]
}
# refactor
foo?.[2]
网友评论