테스트 사이트 - 개발 중인 베타 버전입니다

javascript 질문입니다.

우힣 10년 전 조회 5,384

</p><p> </p><p>var object = {};  //오브젝트에 빈 객체 할당</p><p>var value = 'Minho shipseki'; // 벨류값 할당</p><p> </p><p>//오브잭트에 get&set 메소드 추가</p><p>Object.defineProperty(object,'name',{           </p><p>    get: function(){            // 콘솔로그 출력 후 벨류를 내뱉음   ??----------#1</p><p>        console.log('i came from the getto');</p><p>        return value;</p><p>    },              </p><p>    set: function(newValue){   // 함수에 넣어진 값을 이용하여 콘솔로그 출력 후 벨류는 뉴벨류로 바뀜 ??-----------#2</p><p>        console.log('ADa26years : ' +newValue);</p><p>        value = newValue;</p><p>    }</p><p>});</p><p>//--------------------#5</p><p>object.name = 'BlackNut'; //------#3</p><p>console.log(object.name);//--------------#4</p><p>   <span style="font-size: 11pt; line-height: 1.5;">

질문)

1. #3에서 오브잭트 키에 name을,, 속성값에 BlackNut을,, 추가시킨것 뿐인데 

      왜  ADa26years : BlackNut이란 아웃풋이 뜨는지 궁금합니다.

      set: function(newValue) 를 이용하려면 object.set(BlackNut)을 입력해야되는것 아닌가요??

                                                              근데 이렇게 위처럼 직접 입력하면 오류가납니다..ㅠ;;

 

2. #1과 #2의 의미가 잘 이해가 안갑니다.

3. #4에서 "i came from the getto (\n)BlackNut"이 뜨는것은,, 제가 #3에서 블렉넛을 네임 키값에 할당해주었기 때문인데

    #5에서 console.log(object.name); 을 입력시,,  블랙넛이 아닌 '민호십세키'가 뜨는데

    이말은 곧, 네임 키값에 '민호십세키'가 할당되었기 때문인가요??

 

 

 

도와주실분 있나요?

자바 시작한지 얼마 안되어서 잘 이해가 안가네요.

 

질문이 조잡하여 죄송합니다.

머리가 너무 뒤죽박죽이네요.. 

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

p
10년 전

Object.defineProperty() 는 객체에 속성을 추가하는 메소드입니다.

 

http://blog.naver.com/box252/20192231964">http://blog.naver.com/box252/20192231964 여기 내용 확인해보시면 도움이 되실 것 같네요. 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인