프론트엔드관련 책예제실습정리/javascript 사전적 정의모음 (2) 썸네일형 리스트형 객체의 얕은복사(shallow copy) 와 깊은복사(deep copy) / lodash 사용 /*얕은 복사와 깊은복사 얕은 복사(한단계): 객체를 프로퍼티 값으로 갖는 객체 깊은복사(객체에 중첩된 객체까지 복사) */ { const o = {x:{y:1}} //1. 얕은복사 const c1 = {...o} console.log(c1 === o ) //false console.log(c1.x === o.x) //true } //2.깊은복사 /*lodash의 cloneDeep 사용 npm i lodash설치후 node.js에서 실행*/ { const o = {x:{y:1}} const = require('lodash') const c2 = _.cloneDeep(o); console.log(c2===o)//false console.log(c2.x === o.x)//false } 유사배열객체 유사배열객체란 마치 배열처럼 인덱스로 프로퍼티에 접근 가능하며 length 프로퍼티를 갖는 객체를 의미한다. 문자열의 유사배열 객체의 대표적 예중 하나이며, 이터러블(이터러블 프로토콜을 준수한 객체, symbol.iteraator을 프로퍼티 키로 사용한 메서드를 구현하거나 체이닝을 통해 상속받은 객체를 의미)이므로 for문으로 순회도 가능하다. //유사배열객체 { let str = 'string'; console.log(str[0]); console.log(str.length) //6 console.log(str.toUpperCase()) //STRING //but 문자열은 원시값이므로 변경이불가하다. { let str = 'string' str[0] = 'S'; console.log(str) //str.. 이전 1 다음