我记得在ECMAScript 5或6或7中听说过一种新的方法,让你可以这样做:
if(SomeOperator foo.bar.giz.mo.x === 123)
有人知道这叫什么吗?
好消息:它被称为空传播算子?.
,它正好可以满足您的需求。
坏消息:它存在于c# 6.0和Typescript中,但没有迹象表明它会出现在ES6-7中,尽管有很多关于它的建议。
不幸的是,在JS中实现这一点的最短方法仍然是if(foo||{}.bar||{}.giz||{}.mo||{}.x === 123)