primitive type : 더 이상 쪼갤 수 없는 단위로 생각해보기
Object :
우리가 object.assign을 통해서 복제를 하면 복제한(오리지날) 객체의 property 들만 복제를 하는 것.
따라서 그 복제한 property 중 value가 object인 경우, 그 object 값을 복제하는 것이 아니라 그 object의 위치만 복제.
property 중 원시데이터(primitive) type은 기존 원시 타입처럼 저장. 반면, 배열과 같은 object typed은 reference로 저장.
얕은 복사
object.assign === const anyName = [ ...참조배열 ] / { ... 참조객체 }
가장 밖에 있는 [ ] / { } 는 복사가 되고 내용은 참조
값까지 복사를 하고 싶다면?
JSON.parse(JSON.stringify(원하는 배열)) ==> object.assign + object.score.concat
깊은 복사
const anyName = 참조배열
concat() method 를 사용하여 복제
o1.name의 값이 kim -> lee로 변경
참조
https://www.youtube.com/watch?v=HN1-5v81Fzc&list=PLuHgQVnccGMBxNK38TqfBWk-QpEI7UkY8&index=7
https://www.youtube.com/watch?v=4Y5_kxXolIs&list=PLcqDmjxt30RvEEN6eUCcSrrH-hKjCT4wt&index=86
'나의 FE피봇이야기 > Javascript' 카테고리의 다른 글
[setAttribute] <-> removeAttribute (0) | 2023.12.29 |
---|---|
[immutability] const vs freeze( ) (0) | 2023.12.25 |
[every/some]배열에서 조건으로 통해 값 반환받기 (0) | 2023.12.25 |
[삼항함수]Conditional (ternary) operator (0) | 2023.12.24 |
[reduce] for문 같이 반복문 사용 가능한 (0) | 2023.12.24 |