오늘은 코딩테스트를 풀다 자주 봐왔던 개념인 깊은 복사와 얕은 복사를 자세히 알아보고자 합니다

얕은 복사란 객체의 참조 값(주소)를 복사하는 것 입니다
깊은 복사란 객체의 실제 값을 복사하는 것 입니다
JavaScript에서의 값은 원시 값과 참조 값으로 나누어집니다
원시 값은 기본 자료형을 말합니다
원시 값에는 Number, String, Boolean, Null, undefined 등이 있습니다
참조 값은 여러 자료형으로 구성되는 메모리에 저장된 객체입니다
참조 값에는 Object, Symbol 등이 있습니다
const 똥 = "응가";
let school = "student";
school = "teacher";
console.log(똥) // result: "응가"
console.log(school) // result: "teacher"
이렇게 보면 실제 값이 그대로 복사되는 것을 볼 수 있습니다
const a= {
student: "teacher",
}
let school = a;
school.student = "me";
console.log(a.student); // result: "me"
이렇게 원래 a도 바뀌는 것을 보면 이것은 참조값을 복사한 얕은 복사라고 볼 수 있습니다
오늘은 깊은 복사 얕은 복사를 배워보았는데 코딩 테스트를 풀면서 그냥 제대로 공부하지 않고 넘어갔었는데
확실히 개념을 잡고 이해하니 더 잘 활용할 수 있을거 같아 기대가 됩니다
글을 읽어주셔서 감사합니다
| javascript로 사과게임을 만들어보자! (5) | 2025.01.08 |
|---|---|
| [JavaScript] Shadow DOM이란 뭘까? (4) | 2024.11.26 |
| Closure(클로저)가 뭘까? (7) | 2024.11.15 |
| package.json? package-lock.json? 무슨 차이일까? (3) | 2024.11.10 |
| [코딩 테스트] (제일 작은 수 제거하기) 나의 첫 코딩 테스트 트러블 슈팅!! ⚽(+ shift, sort, pop, splice, Math.min) (3) | 2024.09.28 |