FE RYAN
완벽하지 않으면 어때
FE RYAN
전체 방문자
오늘
어제

블로그 메뉴

  • 💾 깃허브 링크
  • 홈
  • 태그
  • 분류 전체보기 (151)
    • 개인프로젝트 (8)
      • 개인 포트폴리오 웹앱 (6)
      • 프론트엔드 기술면접 아카이빙 웹앱 (2)
    • 기록 (121)
      • 원티드 프리온보딩 인턴십 (0)
      • 코드스테이츠 프론트엔드 (75)
      • 생각들 (3)
      • Today I learned (32)
      • 회고 (9)
      • 리뷰 (1)
    • 개발 (17)
      • React (3)
      • Javascript (7)
      • CSS (1)
      • HTML (3)
      • HTTP (1)
      • 자료구조 (0)
      • 알고리즘 (2)
    • 코딩테스트 (2)
      • 백준 (2)
      • 프로그래머스 (0)
    • 디자인 (1)
      • UI & UX (1)
    • 수학 (0)
    • 자기계발 (0)

공지사항

인기 글

태그

  • 코드스테이츠
  • HTML
  • 자바스크립트
  • 메인프로젝트
  • css
  • 타입스크립트
  • 부트캠프
  • 포트폴리오
  • 리액트
  • 원시타입
  • Til
  • 회고
  • 프론트엔드
  • ES6
  • seb39
  • 자바스크립트 딥다이브
  • seb 39
  • 딥다이브
  • 신입개발자
  • useMemo

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
FE RYAN

완벽하지 않으면 어때

기록/Today I learned

TIL 220416

2022. 4. 17. 00:11
728x90

1. Input(학습)

  • 자바스크립트 처음 시작할때 쉽지만 모를수 있는 객체 복사 방법!

2. Output(복습)

  • 객체끼리 비교, 복사

3. Notes(정리)

객체를 deep copy 하는 2가지 방법( ❊객체 내 메소드에는 적용 불가 )

  1. 전개연산자 사용하기
  2. Object.assign 메소드 사용

1. 전개연산자를 사용하여 객체를 deep copy 하는 방법

const a = {
	num : 1,
};
const b = {...a};

console.log(a.num); // 1
console.log(b.num); // 1
console.log(a === b); // false

2. Object.assign 메소드를 사용하여 객체를 deep copy 하는 방법

const a = {
	num : 1,
};
const b = Object.assign({}, a);

console.log(a.num); // 1
console.log(b.num); // 1
console.log(a === b); // false

객체 안의 메소드까지 deep copy 하는 방법

문자열로 바꾸고 다시 파싱하여 객체로 바꾼다.

const obj1 = {
	a : {
		b: 1,
	},
};
const obj2 = JSON.parse(JSON.stringify(obj1));

obj1.a.b = 2;
console.log(obj1.a.b); // 2
console.log(obj2.a.b); // 1

4. Reminder

  • 객체끼리 비교할 경우 생성 당시의 주소값을 비교함. 따라서 깊은복사하여 서로 같은지 비교 시 false, 얕은복사하여 서로 비교시 true 이다.
728x90
저작자표시 비영리 변경금지 (새창열림)

'기록 > Today I learned' 카테고리의 다른 글

22.10.24 TIL  (0) 2022.10.24
22.10.21 TIL  (0) 2022.10.21
TIL 220408  (0) 2022.04.08
TIL 220406  (0) 2022.04.06
TIL 220405  (0) 2022.04.05
    '기록/Today I learned' 카테고리의 다른 글
    • 22.10.24 TIL
    • 22.10.21 TIL
    • TIL 220408
    • TIL 220406
    FE RYAN
    FE RYAN

    티스토리툴바