Javascript 简化函数内部return语句的最佳方法是什么?';范围';字段被添加到';myInterval';动态地

Javascript 简化函数内部return语句的最佳方法是什么?';范围';字段被添加到';myInterval';动态地,javascript,vue.js,Javascript,Vue.js,如何在保持“myInterval”对象深度的同时减少检查次数?可选链接是一个选项,但此功能刚刚发布,尚未广泛使用 您应该签出并查看受支持的浏览器和环境 您的代码看起来像这样 getSomething() { return this.myInterval && this.myInterval.range && this.myInterval.range.caption; } 如果您只想返回标题,或者空值 可以使用此简单的实用程序函数,该函数接收所需嵌套属性的路

如何在保持“myInterval”对象深度的同时减少检查次数?

可选链接是一个选项,但此功能刚刚发布,尚未广泛使用

您应该签出并查看受支持的浏览器和环境

您的代码看起来像这样

getSomething() {
 return this.myInterval && this.myInterval.range && this.myInterval.range.caption;
}

如果您只想返回
标题
,或者
空值

可以使用此简单的实用程序函数,该函数接收所需嵌套属性的路径和要从中获取嵌套属性的对象,如果路径存在,则返回嵌套属性;如果路径不存在,则返回
null

getSomething() {
 return this.myInterval?.range?.caption;
}
然后在代码中使用它,如

const getPath = (p, o) => {
  if (!p || typeof(p) !== "string" || !o || typeof(o) !== "object") {
    return null;
  }
  return p.reduce((xs, x) =>
    (xs && xs[x]) ? xs[x] : null, o)
};
注意您可以根据需要更改任何回退值的默认
null

getSomething() {
 return getPath(["myInterval","range","caption"], this);
}