Skip to content

matches

INFO

이 함수는 호환성을 위한 es-toolkit/compat 에서만 가져올 수 있어요. 대체할 수 있는 네이티브 JavaScript API가 있거나, 아직 충분히 최적화되지 않았기 때문이에요.

es-toolkit/compat에서 이 함수를 가져오면, lodash와 완전히 똑같이 동작해요.

source의 모양 및 값과 일치하는지 확인하는 함수를 만들어요. 객체, 배열, Map, Set과의 깊은 비교를 지원해요.

이 함수의 동작은 isMatch와 동일하고, 호출하는 방법만 달라요.

인터페이스

typescript
function matches(source: unknown): (target: unknown) => boolean;

파라미터

  • source (unknown): 확인하는 함수가 참고할 객체.

반환 값

  • ((target: unknown) => boolean): source의 모양 및 값과 일치하는지 확인하는 함수. targetsource과 일치하면 true, 아니면 false를 반환해요.

예시

객체 일치

typescript
const matcher = matches({ a: 1, b: 2 });
matcher({ a: 1, b: 2, c: 3 }); // true
matcher({ a: 1, c: 3 }); // false

배열 일치

typescript
const arrayMatcher = matches([1, 2, 3]);
arrayMatcher([1, 2, 3, 4]); // true
arrayMatcher([4, 5, 6]); // false

중첩된 구조 일치

typescript
// Matching objects with nested structures
const nestedMatcher = matches({ a: { b: 2 } });
nestedMatcher({ a: { b: 2, c: 3 } }); // true
nestedMatcher({ a: { c: 3 } }); // false

MIT 라이선스에 따라 배포됩니다.