자바스크립트에서 변수로서의 함수
자, 이전 강의에서 우리는 함수를 괄호 없이 참조하면 그 함수의 소스 코드를 얻는다는 것을 알아냈습니다.
사실 모든 것은 훨씬 더 흥미롭습니다. 다른 언어와 달리 자바스크립트에서는 함수가 숫자, 문자열, 배열과 같은 변수 값입니다.
예제를 통해 살펴보겠습니다. 예를 들어,
함수 func가 있다고 가정해 봅시다:
function func() {
console.log('!');
}
사실 우리에게는 함수 func가 없습니다.
우리에게는 함수의 소스 코드를 담고 있는
변수 func가 있을 뿐입니다.
예를 들어, 우리는 변수 func를
다른 것으로 덮어쓸 수 있습니다. 예를 들어,
문자열로 말이죠. 이 경우 함수 func는
더 이상 함수가 아닌 문자열이 됩니다.
예제를 보세요:
function func() {
console.log('!');
}
func(); // '!'를 출력합니다
func = 'string'; // 변수 func를 덮어씁니다
console.log(func); // 'string'을 출력합니다
return을 통해 어떤 문자열을 반환하는
함수 func를 만드세요.
함수 func의 작업 결과를
콘솔에 출력하세요.
함수 func의 소스 코드를
콘솔에 출력하세요.
변수 func에 숫자 123을 할당하여
이 변수에 있던 함수를 덮어쓰세요.
변수 func의 새 값을
콘솔에 출력하세요.