inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Người mới bắt đầu sử dụng JavaScript: Xây dựng nền tảng cơ bản vững chắc

4. getter và setter, thuộc tính get, thuộc tính set

두개의 오브젝트를 써야하는 이유

169

Hyobin Kim

81 câu hỏi đã được viết

1

강의 보다가 set 부분에서 의문이 들어서 실험을 해봤는데요

 

예시에서 obj = {}, data = {} 이렇게 두가지 오브젝트를 사용하셨잖아요 

저는 obj하나만 써서, Book의 get/set을 정의 할 때도, 데이터를 집어 넣고 빼고 하는 대상도 obj의 Book으로 설정을 하니까 마치 출구없는 재귀함수 처럼 스택 오버 플로우가 생기더군요

그래서 두개의 오브젝트를 써야하는 구나 싶은데 구체적인 이유를 잘 모르겠습니다

oop javascript

Câu trả lời 1

0

Gin-Kyeng Lee

let obj = {}
Object.defineProperty(obj, "book", {
	set : function(param){
		obj.title = param.toUpperCase(); // parameter를 받아 대문자로 바꿔줌
	},
	get : function(){
		return obj.title;
	}
});

obj.book = "jsbook"
console.log(obj.book); //JSBOOK

저도 이 부분이 궁금해서 실제로 코드를 작성해보았는데, 이렇게 작성해도 결과물은 잘나오더라구요. 두 오브젝트를 활용한 이유가 저도 매우 궁금합니다...

그리고 또 하나의 의문은,  data라는 새로운 오브젝트를 사용했고, defineProperty 내에 이 data의 프로퍼티 값을 작성하고나서, data의 프로퍼티를 obj의 프로퍼티로 복사하거나 옮긴적이 없는데, obj의 book property value에 JS책이 어떻게 자동적으로(?) 할당됐는지가 궁금하네요...

프론트엔드 부트캠프 가기 전, 짧은 감사 인사드립니다!

2

110

2

섹션10 3. Object 프리미티브 값 구하기에서 질문있습니다.

1

150

2

섹션3의 1강 연산자, 표현식 강의에서 표현식 질문이 있습니다.

0

140

2

섹션 1. 6번째 강의 질문입니다.

1

247

1

선생님 Objcet 질문 있습니다.

0

299

2

forEach문을 활용한 코딩시간 풀이

0

617

1

sort 코딩 시간 풀이

0

292

1

코딩 시간 풀이 올려봅니다.

0

231

1

인덱스 코딩시간 문제풀이

0

383

1

for문 코딩 시간 답제출

0

308

1

3:39 sort에 들어가서 one,two 파라미터질문입니다.

0

194

0

퀴즈 질문 및 정답

0

357

1

오브젝트

0

284

1

인스턴스 목적

1

240

1

[코딩시간 01] 3항 연산자로 작성했을 때, 각 값..?

0

269

1

Undefined === Null; // true???

0

194

1

indexOf의 파라미터에 음수를 작성 했을때에 대한 질문입니다.

0

1031

5

length 값 변환 논리에 대한 질문입니다.

0

211

1

상수 변수 선언에 대해

0

236

1

코딩 시간 (for문) 풀이

0

256

1

Object vs object

1

502

1

코딩 시간 풀이입니다.

0

199

1

log(add(1, 2, 3, 4));

0

183

1

코딩시간 답 제출

0

200

1