[JavaScript] 2. Immutable & Copy & CRUD

김미숙's avatar
Apr 03, 2025
[JavaScript] 2. Immutable & Copy & CRUD
// 불변 (immutable) let list = [1, 2, 3]; // 1. 얕은 복사 (Shallow Copy) - '주소 값'을 복사,주소 값을 복사하기 때문에 참조하고 있는 실제 값은 같다 // let data = list; // 2. 깊은 복사 (Deep Copy) - '실제 값'을 새로운 메모리 공간에 복사 let deepCopy = [...list]; // 전개연산자 deepCopy.push(4); console.log("list",list); console.log("deepCopy",deepCopy) // 3. 추가 (append, prepend) let appendList=[...list,4]; let prependList=[0,...list]; console.log("appendList",appendList); console.log("prependList",prependList); // 4. 찾기 let searchList = list.filter((n)=>n == 2); console.log("searchList",searchList); // 5.삭제 let deteleList = list.filter((n)=> n != 2); console.log("deteleList",deteleList); // 6. 수정 let updateList = list.map((n)=>{ if(n==2){ return n*10; }else{ return n; } }); // let updateList = list.map((n)=> n==2 ? n*10 : n); <- 삼항연산자 사용 console.log("updateList",updateList)
notion image

1. 얕은 복사 (Shallow Copy) - 객체를 복사할 때, 해당 객체만 복사하여 새 객체를 생성한다. - 복사된 객체의 인스턴스 변수는 원본 객체의 인스턴스 변수와 같은 메모리 주소를 참조한다. - 따라서, 해당 메모리 주소의 값이 변경되면 원본 객체 및 복사 객체의 인스턴스 변수 값은 같이 변경된다. 2. 깊은 복사 (Deep Copy) - 객체를 복사 할 때, 해당 객체와 인스턴스 변수까지 복사하는 방식. - 전부를 복사하여 새 주소에 담기 때문에 참조를 공유하지 않는다.
Share article

parangdajavous