참조형 데이터는 메모리 주소를 갖음
깊은복사 - 주로 lodash 라이브러리 사용
let deepCopiedArray = _.cloneDeep(originalArray);
얕은복사(성능이 중요할때) vs 깊은복사(원본이 중요할때)
-- 배열 메서드 --
Mutable (원본 변경 메서드)
-push() : 마지막 추가
-pop() : 마지막 제거
-shift() : 첫번째 제거
-unshift() : 첫번째 추가
-splice() : 교체,삭제,추가
-sort() : 정렬
Immutable(원본 유지, 새배열 메서드)
-concat() : 배열 합치기(요즘은 spread 문법 씀)
-slice() : 잘라진 배열을 새 배열로
-join() : 문자열로 결합
-includes() : 포함 여부를 불리언값으로
-indexOf() : 제일 먼저 발견한 특정 요소를 반환
-⭐forEach() : 요소마다 순서대로 콜백함수를 실행
-⭐map() : 호출한 결과를 모아서 새로운 배열을 반환
-⭐filter() : 참인 요소만 새로운 배열로 반환
mutable vs immutable 인지 헷갈릴때
-- 객체 메서드 --
-Object.keys() : 객체key들을 배열로
-Object.values() : 객체value들을 배열로
-Object.entries() : 객체[key, value] 쌍을 배열
-Object.assign(target, source) : 객체(source)로부터 대상 객체(target)에 속성을 복사(spread연산자같이)
-Object.freeze() : 객체를 동결, 수정 불가
-Object.seal() : 객체를 밀봉, 속성값외엔 수정 불가
'개발 일기' 카테고리의 다른 글
2024-10-21(비동기-promise,async/await,fetch) (0) | 2024.10.21 |
---|---|
2024-10-18 (DOM,API) (0) | 2024.10.18 |
2024-10-17(구조분해할당,pop,map,filter) (0) | 2024.10.17 |
2024-10-14(RenderTree , const) (0) | 2024.10.14 |
2024-10-12(this,promise) (0) | 2024.10.12 |