동글이의 STORY
Object 오브젝트 본문
728x90
반응형
✅ 핵심요약
- 오퍼레이션
- 같은 키 사용:
- ES6: Strict 모드 여부와 관계없이 에러가 발생하지 않으며, 마지막에 작성된 프로퍼티 값으로 대체
- 변수 이름으로 값 설정:
- ES6에서는 객체를 선언할 때 변수 이름과 값을 동시에 설정 가능
- Object에 함수 작성:
- ES6에서는 함수를 간결하게 작성 가능
- 디스크립터
- 프로퍼티 디스크립터는 데이터 프로퍼티 디스크립터와 액세스 프로퍼티 디스크립터로 분류.
- 각 디스크립터는 다양한 속성을 가지며, 데이터 프로퍼티와 액세스 프로퍼티에 대한 속성이 다름.
- get, set 속성
- get 속성: getter 함수를 제공하여 특정 프로퍼티의 값을 가져올 때 사용
- set 속성: setter 함수를 제공하여 특정 프로퍼티의 값을 설정할 때 사용
1. 오퍼레이션
- Object에 같은 key 사용
- es3 : key 값이 같더라도 추가되고
- es5 strict 모드 : 에러 발생
- es6: strict 모드에 관계없이 에러가 발생하지 않으며 나중에 작성된 프로퍼티 값으로 대체됨
- let sameKey = {one: 1, one: 2}; console.log(sameKey); // Object {one: 2}
- 변수 이름으로 값 설정
let one = 1; two = 2; let values = {one, two}; console.log(values); // Object {one: 1, two: 2}
- Object에 function 작성
- es5
let obj = { getTotal: function(param) { return param + 123; } };
- es6
let obj = { getTotal(param) { return param + 123; } }; console.log(obj.getTotal(400)); // 523
- es5
2. 디스크립터
- 프로퍼티 디스크립터는 데이터 프로퍼티 디스크립터 타입과 액세스(access) 디스크립터 타입으로 분류된다.
타입속성 이름속성 값 형태디폴트 값개요
데이터 | value | JavaScript 데이터 타입 | undefined | 프로퍼티 값으로 사용 |
writable | true, false | false | false: 속성 값 변경 불가 | |
액세스 | get | funciton, undefined | undefined | 프로퍼티 getter 함수 |
set | funciton, undefined | undefined | 프로퍼티 setter 함수 | |
공용 | enumerable | true, false | false | false: for-in으로 열거 불가 |
configurable | true, false | false | false: 프로퍼티 삭제 불가 |
3. get, set 속성
🔸 get 속성
- get 속성은 getter 기능을 제공
var obj = {};
Object.defineProperty(obj, "book", {
get: function() {
return "책";
}
});
console.log(obj.book); // 책
🔸 set 속성
- set 속성은 setter 기능을 제공
var obj = {};
Object.defineProperty(obj, "item", {
set: function(param) {
this.sports = param;
}
});
obj.item = "야구";
console.log(obj.sports); // 야구
728x90
반응형
'Javascript > ES6' 카테고리의 다른 글
Math 오브젝트 (2) | 2024.06.12 |
---|---|
Number 오브젝트 (2) | 2024.06.12 |
오퍼레이션 (4) | 2024.06.12 |
디스트럭처링 (1) | 2024.06.12 |
Spread 연산자 (4) | 2024.06.12 |