반응형
Notice
Recent Posts
Recent Comments
Link
250x250
«   2025/07   »
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
Archives
Today
Total
관리 메뉴

동글이의 STORY

Object 오브젝트 본문

Javascript/ES6

Object 오브젝트

dongling 2024. 6. 12. 21:53
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

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