티스토리 뷰
반응형
- JS의 객체를 저장하는 변수는 객체의 주소를 참조한다.
- Object.assign({}, target) 명령어는 새로운 객체를 만들고 원본 객체의 열거 가능한 속성을 복사한다.
- spread 연산자 ...도 마찬가지!
const origin = {
id: 0,
name: 'injuk',
age: '1',
};
// 참조를 복사하므로 두 객체는 같다.
const obj1 = origin;
check(obj1);
// 새로운 빈 객체를 만들고 원본의 속성을 복사하므로 두 객체는 다르다.
const obj2 = Object.assign({}, origin);
check(obj2);
// 새로운 객체를 만들고, 원본 객체에 새로운 객체의 속성을 복사하므로 두 객체는 같다.
const obj3 = Object.assign(origin, { temp: true });
check(obj3);
// 새로운 객체를 만들고 원본 객체의 속성을 복사하므로 두 객체는 다르다.
const obj4 = { ...origin };
check(obj4);
function check(target) {
console.log(origin === target);
}
/* 실행 결과
true
false
true
false
*/
'Dev. > javascript' 카테고리의 다른 글
[JS] 객체 배열을 Map으로 변환하기 (0) | 2022.04.23 |
---|---|
[JS] 정규표현식 괄호 안 문자 제거하기 (0) | 2022.04.22 |
[JS] 매개변수가 함수인지 확인하기 (0) | 2022.03.23 |
[JS] for of문에서의 배열 인덱스 사용 (0) | 2021.12.28 |
[JS] Promise.allSettled 사용하기 (2) | 2021.11.30 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Puppeteer
- Git
- hashicorp
- terraform
- AWS
- Database
- etc
- Spring Cloud Config
- Gradle
- spring boot
- IntelliJ
- 코딩테스트
- Vault
- pgloader
- Linux
- postgresql
- jQuery
- JEST
- eureka
- dev
- react
- Java
- AWS IoT
- Node.js
- mysql
- shell
- Docker
- JPA
- javascript
- kotlin
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함