찾다

 >  Q&A  >  본문

.shift()가 정의되지 않은 상태를 반환하는 것이 가능합니까?

TypeScript 함수를 작성 중인데 IDE에서 .shift()의 결과가 정의되지 않았을 수 있다는 메시지가 표시되어 더 많은 유형 경고가 발생합니다...

코드는 다음과 같습니다:

으아아아

이제 나는 배열에 요소가 있는지 확신할 수 없을 때 이 경고가 의미가 있다는 것을 이해합니다. 이 경우 .shift()는 정의되지 않은 값을 반환합니다. 하지만 이 경우 while 루프는 temp.length가 true인 경우에만 실행됩니다. 이 경우 temp.shift()가 정의되지 않은 대신 값을 반환한다는 것을 알고 있습니다... 뭔가 빠졌나요?

P粉461599845P粉461599845339일 전383

모든 응답(1)나는 대답할 것이다

  • P粉668804228

    P粉6688042282024-02-04 09:33:31

    shift 被定义为 Array에 대한 일반적인 메서드이며 다음 서명이 있습니다.

    Array<T>.shift(): T |未定义

    따라서 코드가 temp.length 断言,当您调用 shift 대상인지 여부에 관계없이 반환 유형은 다음과 같습니다.

    T |未定义

    기본값만 추가하면 됩니다:

    으아아아

    temp.pop()도 마찬가지입니다.

    여기는ts-놀이터

    회신하다
    0
  • 취소회신하다