2024-10-16(복사,배열메서드,객체메서드)
참조형 데이터는 메모리 주소를 갖음
깊은복사 - 주로 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() : 객체를 밀봉, 속성값외엔 수정 불가