Skip to content

wjdthdms/FE-study

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 

Repository files navigation

Q. == 과 === 의 차이점 / 얕은 복사와 깊은 복사

1. == 과 === 의 차이점

== (동등 연산자), === (일치 연산자)

== (Loose Equality)

  • 값이 같으면 true, 다르면 false 반환
  • 값이 같아도 타입이 다르면 자동 변환 후 비교
1 == '1' // true;
null == undefined // true;

=== (Strict Equality)

  • 값과 타입이 모두 같아야 true 반환
1 === '1' // false;
null === undefined // false;

2. 얕은 복사와 깊은 복사

얕은 복사와 깊은 복사는 객체를 복사할 때 참조(메모리 주소)만 복사할지, 실제 값까지 복사할지를 결정하는 방식

얕은 복사(Shallow Copy)

  • 참조만 복사: 원본과 복사본이 같은 메모리 주소를 가리켜서 중첩된 배열이나 객체의 경우 한 단계만 복사
  • 중첩 구조 영향: 복사본에서 원본의 하위 요소를 변경하면, 원본도 함께 바뀜
let arr = [1, 2, 3]; let copy = arr; copy.push(4);
console.log(arr);
// [1, 2, 3, 4]

깊은 복사(Deep Copy)

  • 값 자체를 복사: 중첩된 모든 객체와 배열까지 다 새 메모리에 복사
  • 독립적 변화: 복사본에서 변경해도 원본에는 영향X
 객체 '{ a: 1, b: { c: 2 } }'가 있을 때,
 깊은 복사를 하면 'b' 속성도 새로운 객체로 복사되어 원본과는 독립적인 상태가 됨

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors