未一定的对象、变量,怎么去判空呢

问题是这样的:

背景:我们公司做混合app,我开发app中的一些web页。
在混合app中,webview里会有Android对象,这个是安卓同事暴露给我的可调用的对象,通过这个对象,我就能调用一些安卓的方法,以实现两者一些功能联动、交互的目的。

需求:某个需求需要我调用安卓同事写的方法:Android.getUserInfo(),调用后获取到userInfo,然后做判断。
但是这个getUserInfo()方法,是某个版本(假设是5.0) 之后,app包里才有的,那么这个时候就需要兼容老版本的app包。

我的尝试: 我直接写了个 let userInfo = Android.getUserInfo() ? Android.getUserInfo() : '默认值';

当时我以为解决问题了,谁知道,上边那代码居然报错了,因为getUserInfo is not defined,更尴尬的是,后边的代码不执行……崩了……

想问问各位老哥,有木有,实现这种兼容两种情况的办法……

阅读 1.4k
2 个回答
let userInfo = Android.getUserInfo ? Android.getUserInfo() : ''

我们项目处理这种情况,是有写判断客户端版本的方法,之后根据版本来控制,这样的好处是不用每个新方法都做判断。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题