모던 자바스크립트 튜토리얼 - 2. 객체: 기본
객체
ko.javascript.info
🐃 1. 객체
- 객체와 Map에서 key값으로 지정할 수 있는 데이터 타입의 차이점
-----
객체 : key값으로 문자열, 심볼만을 허용한다.
Map : key값으로 모든 데이터 타입을 허용한다.
-----
- for key in object 를 통해 객체의 키를 순회할 때 순회 순서
-----
정수 프로퍼티 : 키 값을 오름차순으로 정렬하여 순회한다.
그 외의 프로퍼티 : 객체에 추가한 순서로 순회한다.
정수 프로퍼티와 문자열 프로퍼티가 섞여있을 때 : 정수 프로퍼티 -> 문자열 프로퍼티 순으로 순회한다.
-----
## 정수 프로퍼티란?
- 문자열을 정수형으로 변경했을 때, 변형이 없는 문자열 프로퍼티
- 프로퍼티 키값으로 '49', '32' 등을 사용했을 때는 정수 프로퍼티이다.
- '+42', '1.3' 등을 사용하면 이는 정수 프로퍼티가 아니다. 이 둘은 정수형으로 변경시 42, 1로 변형이 일어나기 때문이다.
- 변수의 값을 객체 프로퍼티 키로 지정하고 싶을떄 사용하는 방법
프로퍼티 키를 대괄호로 감싸준다.
let variable = 'variable';
let obj = { [variable]: 5, };
참조에 의한 객체 복사
ko.javascript.info
🐖 2. 참조에 의한 객체 복사
- 객체를 복제할 때 사용할 수 있는 메서드
Object.assign();
Object.assign(newObj, [obj1, obj2, ...]);
newObj 객체에 obj1, obj2 객체가 가진 프로퍼티를 모두 추가한다.
동일한 이름을 가진 프로퍼티의 경우 덮어씌운다.