重构JavaScript/TypeScript:避免重复属性

重构JavaScript/TypeScript:避免重复属性,javascript,typescript,null,refactoring,Javascript,Typescript,Null,Refactoring,编辑:现有答案分别为2岁和5岁(2017年和2014年) 如何缩短以下语句 ratingsExisting(): boolean { return ( this.fromAPIData.book && this.fromAPIData.book.misc && this.fromAPIData.book.misc.ratings && this.fromAPIData.book.misc.

编辑:现有答案分别为2岁和5岁(2017年和2014年)

如何缩短以下语句

  ratingsExisting(): boolean {
    return (
      this.fromAPIData.book &&
      this.fromAPIData.book.misc &&
      this.fromAPIData.book.misc.ratings &&
      this.fromAPIData.book.misc.ratings.length > 0
    );
  }

因此,如果任何属性为
null
,我都不会收到错误?

阅读这篇关于您的文章有点太早了
this.fromAPIData?.book?.misc有望很快成为JS和TS的一部分。。。在此之前,您必须回到dupe中显示的其他语法糖类。检查这些属性是否存在可以使用下划线库完成。所以,u.have(this.fromAPIData,'book.misc.ratings.length)读过这篇关于你的文章有点太早了
this.fromAPIData?.book?.misc有望很快成为JS和TS的一部分。。。在此之前,您必须回到dupe中显示的其他语法糖类。检查这些属性是否存在可以使用下划线库完成。因此uu.has(this.fromAPIData,'book.misc.ratings.length)