Javascript API数据:无法读取null的属性“slice”

Javascript API数据:无法读取null的属性“slice”,javascript,Javascript,我从SportsData NBA API获取数据,我想了解球员的信息。API以以下格式返回数据: BirthCity: "Sao Carlos" BirthCountry: null BirthDate: "1982-09-13T00:00:00" BirthState: "Brazil" College: null 等等 正如你所看到的,整个生日并不是我真正想要的,我只想要日期部分,不包括T00:00:00 li.appendChild( document.create

我从SportsData NBA API获取数据,我想了解球员的信息。API以以下格式返回数据:

BirthCity: "Sao Carlos"
BirthCountry: null
BirthDate: "1982-09-13T00:00:00"
BirthState: "Brazil"
College: null
等等

正如你所看到的,整个生日并不是我真正想要的,我只想要日期部分,不包括T00:00:00

 li.appendChild(
          document.createTextNode(
            `Born: ${data[i].BirthDate.slice(0, 10)} in ${data[i].BirthCity}, ${
              data[i].BirthState
            }`
          )
        );
我试图用slice来解决这个问题,但问题是并不是所有的玩家都有可用的生日,对于其中一些玩家来说,生日返回空值。所以,当我到达第一个生日为空的玩家时,它停止工作,我只让玩家到达生日为空的玩家

我得到了这个错误:承诺类型错误中的Uncaught:cannotreadproperty'slice'为null app.js:64

另外,如果一个学院是空的,我怎么能说玩家没有上过大学而不是得到空的呢

我用这行代码得到了学院:

li.appendChild(document.createTextNode(`College: ${data[i].College}`));

在尝试分割出生日期之前,使用一个简单的逻辑语句来计算出生日期,可以解决以下问题:

`Born: ${data[i].BirthDate ? data[i].BirthDate.slice(0, 10) : 'Unknown'}`

这叫做三元运算符,本质上是if/else的简写。您可以查看有关它的一些文档

在尝试切片之前,使用if语句检查出生日期是否为空。大学部分也一样。bday=bday?bday.0,10:“whateveruwant”