• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

closure 관련 질문드립니다

18.06.21 20:20 작성 조회수 175

2

function a(){

var _x = 1;

return {

get x(){ return _x},

set x(v) { _x=v}

}

}

var c = a();

위에 code는 proto에는 함수로 들어가있는데

get()

set()을 호출할 때 정의가 안되어있다고 에러가 나는데

function a(){

var _x = 1;

return {

get(){ return _x},

set(v) { _x=v}

}

}

var c = a();

아래 처럼 함수 이름만 쓸 때 호출을 할 수 있는데 뭐가 잘 못 된 건가요???

답변 1

답변을 작성해보세요.

1

get x () { } / set x () { } 는 get / set 명령어 뒤에 '변수명'이 함께 오는 메소드입니다. 이를 'getter / setter'라고 칭합니다.

getter는 "지정한 변수의 값을 가져오고자 할 때" 호출되는 메소드이며,

setter는 "지정한 변수에 값을 할당하고자 할 때" 호출되는 메소드입니다.

아래에 작성하신 get () { } / set () { } 메소드는 일반적인 메소드이며, 위 둘과 다릅니다.

자세한 내용은 아래의 링크를 보시기 바랍니다.

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/get

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/set