인프런 커뮤니티 질문&답변
closure 관련 질문드립니다
작성
·
281
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





