如何空检查流中有条件的对象 属性?

How do I null check object property conditional in flow?

我有一些代码基本上是这样的:

if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register('something')
}

哪个流程引发错误 Method cannot be called on possibly undefined value。由于我已经检查了现有的 serviceWorker,我怎样才能让 Flow 认识到这是有保证的?

试试这个:

if ( typeof navigator.serviceWorker !== 'undefined' )

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/typeof