공부를 하며 기록하는 글입니다. 잘못된 내용이 포함되어 있을 수 있습니다. 오류가 발견 시 댓글로 말씀해주시면 바로 수정하겠습니다 :)
(function () {}) ()
방식으로 쓰임. let scope = (function () {
let x = 'local';
return {
y: function () {
alert(x);
}
}
})(
)
/////
console.log(scope);
출력할 경우 아래와 같은 결과
{
y: function () {
alert(x);
}
}
위와 같이 선언하면 scope에 할당된 함수는 선언과 동시에 호출된다. 위 코드에서 외부로 노출되는 변수는 y뿐이다. x에는 접근이 불가능하기 때문에 변수를 비공개로 만들 수 있다.