• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

load함수 관련 궁금합니다.

21.10.25 01:18 작성 조회수 96

0

(() => {

})()

현재 코드를 즉시 실행 함수 안에서 작성하고 있는데 

즉시 실행 함수가 없이 바로 써도 문제없이 작동 하는거 같은데

왜 저 안에서 쓰는지 궁금합니다.

답변 1

답변을 작성해보세요.

0

자바스크립트의 전역변수는, 어디서나 접근할 수 있기 때문에 변수명 충돌 등의 문제를 가지고 있어서 가급적이면 쓰지 말도록 하는 경향이 있는데요, 함수(블럭) 내부에 선언함으로서 지역변수({ } 내부에서만 접근할 수 있는)로 만들어준 것이랍니다.

<script type="module" ... > 이런 식으로 자바스크립트 module을 사용할 경우는, module 자체적으로 변수의 유효 범위가 만들어지기 때문에 즉시 실행함수를 사용하지 않아도 전역변수가 만들어지지 않지만, 우리 예제는 module은 사용하고 있지 않기 때문에 즉시 실행함수를 사용해서 전역변수 사용을 막아주었습니다.