본문 바로가기

개발

즉시 실행 함수 in javascript

반응형

javascript에서 즉시 실행함수는 아래와 같은 형식을 가집니다.

//정의
(() => {
	console.log('test')
})

//정의와 실행 동시에
(() => {
	console.log('test')
})()

()을 붙이면 실행도 하고, 붙이지 않으면 정의만 합니다.

그런데, 즉시 실행 함수를 사용하다 종종 에러가 발생합니다.

 

'....is not a function'

 

인데요. 왜 발생할까요?

 

 

원인은 ;에 있었습니다. javascript가 주는 편리함중 하나는 ;를 쓰지 않아도, 언어 자체에서 ;처리를 합니다. 그래서 ;를 쓰는 습관이 줄었고, ;로 끝나지 않은 코드에 즉시 실행 함수를 실행하니 에러가 발생한 것이었습니다.

//err

console.log('err?')

(() => {
	console.log('test')
})


//not err

console.log('err?');
(() => {
	console.log('test')
})

 

 

 

결론: 

즉시 실행 함수를 쓰기전, ;를 잊지말아야 합니다

 

 

 

 

 

감사합니다

 

 

 

'개발' 카테고리의 다른 글

http-only cookie in javascript  (0) 2021.06.10
next.js에서 csr  (0) 2021.03.16
port already issue in linux  (0) 2021.02.24
유용한 공백  (0) 2021.02.21
지역 변수와 전역 변수 in javascript  (0) 2021.02.21