javascript 질문입니다.
본문
var object = {}; //오브젝트에 빈 객체 할당
var value = 'Minho shipseki'; // 벨류값 할당
//오브잭트에 get&set 메소드 추가
Object.defineProperty(object,'name',{
get: function(){ // 콘솔로그 출력 후 벨류를 내뱉음 ??----------#1
console.log('i came from the getto');
return value;
},
set: function(newValue){ // 함수에 넣어진 값을 이용하여 콘솔로그 출력 후 벨류는 뉴벨류로 바뀜 ??-----------#2
console.log('ADa26years : ' +newValue);
value = newValue;
}
});
//--------------------#5
object.name = 'BlackNut'; //------#3
console.log(object.name);//--------------#4
질문)
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
Object.defineProperty() 는 객체에 속성을 추가하는 메소드입니다.
http://blog.naver.com/box252/20192231964 여기 내용 확인해보시면 도움이 되실 것 같네요.
답변을 작성하시기 전에 로그인 해주세요.