//일반적인 함수 선언 방식
function func(){
return '함수 선언식';
}
func(); // 함수 선언식
var func = function () {
return '함수 표현식';
}
func(); //함수 표현식
답부터 말하자면 1급객체이기 때문이다.
💡1급객체란 : 특정 언어의 일급 객체란, 컴퓨터 프로그래밍 언어에서 일반적으로 다른 객체들에 적용 가능한 연산을 모두 지원하는 객체를 가리킨다.
특징은 아래와 같다.
변수에 함수를 담을 수 있다.
// 변수에 함수 할당 var bar = fucntion() { return 'javscript'; }; console.log(bar()); // javascript
파라미터로 전달 할 수있다.
var test = function(func) { func(); // 파라미터로 받은 함수 호출 } // test() 함수에 다른 함수를 파라미터로 넣어 호출 test(function() { console.log('javascript'); });
반환값으로 사용 할 수있다.
// 함수를 리턴하는 test() 함수 function test() { return function() { console.log('javscript'); } } var bar = test(); bar();```