.shift()가 정의되지 않은 상태를 반환하는 것이 가능합니까?
P粉461599845
P粉461599845 2024-02-03 19:55:25
0
1
357

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

코드는 다음과 같습니다:

으아아아

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

P粉461599845
P粉461599845

모든 응답(1)
P粉668804228

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

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

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

T |未定义

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

으아아아

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

여기는ts-놀이터

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿