TypeScript 함수를 작성 중인데 IDE에서 .shift()의 결과가 정의되지 않았을 수 있다는 메시지가 표시되어 더 많은 유형 경고가 발생합니다...
코드는 다음과 같습니다:
으아아아이제 나는 배열에 요소가 있는지 확신할 수 없을 때 이 경고가 의미가 있다는 것을 이해합니다. 이 경우 .shift()는 정의되지 않은 값을 반환합니다. 하지만 이 경우 while 루프는 temp.length가 true인 경우에만 실행됩니다. 이 경우 temp.shift()가 정의되지 않은 대신 값을 반환한다는 것을 알고 있습니다... 뭔가 빠졌나요?
shift
被定义为Array
에 대한 일반적인 메서드이며 다음 서명이 있습니다.Array<T>.shift(): T |未定义
따라서 코드가
temp.length
断言,当您调用shift
대상인지 여부에 관계없이 반환 유형은 다음과 같습니다.T |未定义
기본값만 추가하면 됩니다:
으아아아temp.pop()
도 마찬가지입니다.여기는ts-놀이터