代码之家  ›  专栏  ›  技术社区  ›  patngo

使用默认值进行解构后,“Object可能为空”

  •  0
  • patngo  · 技术社区  · 7 年前

    我对打字很陌生。我有一个这样的界面:

    export interface Stop {
      sequenceNumber?: number | null;
    }
    

      stops.sort((stopA: Stop, stopB: Stop) => {
        const { sequenceNumber: seqA = 0 } = stopA;
        const { sequenceNumber: seqB = 0 } = stopB;
        return seqA - seqB;
      });
    

    它抱怨 Object is possibly 'null' 两者都有 seqA seqB 0 . 为什么会这样,人们通常如何克服?

    const seqA = stopA.sequenceNumber || 0;
    const seqB = stopB.sequenceNumber || 0;
    

    Typescript不会抱怨。两种方法不都能有效地做同样的事情吗?

    0 回复  |  直到 7 年前
    推荐文章