개발 일기

2024-10-16(복사,배열메서드,객체메서드)

민ズl 2024. 10. 16. 17:51

참조형 데이터는 메모리 주소를 갖음

 

깊은복사 - 주로 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 인지 헷갈릴때

https://doesitmutate.xyz/

 

-- 객체 메서드 --

-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