Skip to content

Commit 307a56c

Browse files
committed
feat: shallowEquals 개발
1 parent d8192aa commit 307a56c

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed
Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1-
export const shallowEquals = (a: unknown, b: unknown) => {
2-
return a === b;
3-
};
1+
export function shallowEquals(objA: unknown, objB: unknown): boolean {
2+
if (objA === objB) return true;
3+
4+
if (objA == null || objB == null) return false;
5+
6+
const keysOfA = Object.keys(objA);
7+
const keysOfB = Object.keys(objB);
8+
9+
if (keysOfA.length !== keysOfB.length) return false;
10+
11+
for (const key of keysOfA) {
12+
if ((objA as Record<string, unknown>)[key] !== (objB as Record<string, unknown>)[key]) {
13+
return false;
14+
}
15+
}
16+
17+
return true;
18+
}

0 commit comments

Comments
 (0)