Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
Issue: #196
첫 번째 인자로 넘긴 배열에 특정 요소가 포함되어 있는지 판단하는 유틸 함수입니다.
includes는
as const
를 활용 했을 때, 타입이 호환되지 않은 요소가 포함되어 있는지 확인 할 때 타입 에러가 발생하는 문제점을some
메서드를 활용해 개선한 함수입니다.some
메서드를 통해 요소가 포함되어 있는지 판단 할 때 기본적으로Object.is
메서드를 활용합니다. 단, 필요 시에 3번째 인자로comparator
함수를 활용 할 수 있습니다.Object.is를 활용한 이유는
==
보다는 엄격하게 관리되며,===
보다 조금 더 개발자가 기대하는 결과를 가져옵니다. 예를 들어===
과 비교해서NaN
은 같다고 판단하며,-0과 +0
은 서로 다르다고 판단합니다.react 팀의 경우에도 의존성 배열 등과 같이 특정 요소들을 비교 할 때
Object.js
를 활용합니다.https://github.com/facebook/react/blob/main/packages/shared/objectIs.js
https://github.com/facebook/react/blob/main/packages/shared/shallowEqual.js
PR Checklist
Contributing Guide