Javascript로 코드를 작성할 때, 가끔씩 함수의 () 유무에 따른 함수 작동 방식이 어떻게 되는지 헷갈릴 때가 있어서 이번 기회에 확실히 짚고 넘어가기 위해 기록한다.
코드로 알아보기 위해 샘플 함수 testFunc()
를 아래와 같이 정의한다.
const testFunc() => {
console.log('Hello!');
return 2;
}
소괄호를 붙이지 않았을 때
함수 호출 시, 소괄호를 붙지지 않고 호출을 하면 아래와 같다.
console.log(testFunc);
> () => {console.log('Hello!'); return 2;}
소괄호를 붙였을 때
함수 호출 시, 소괄호를 붙여서 호출을 하면 아래와 같다.
console.log(testFunc);
> Hello
> 2
textFunc
에 담긴 함수 객체의 참조를 호출.textFunc
이라는 함수를 실행하고 그 결과를 return 한 것.