자바스크립트 함수와 변수의 관계
자바스크립트 함수와 변수의 관계
일반적으로 자바스크립트를 통해 개발하면 아래와 같은 방식으로 개발하며 파라미터로 숫자, 문자, 불린 등의 값을 넣어 파라미터로 입력된 값을 연산하여 리턴하거나 화면에 표출하는 것이 대부분입니다.
function hello(name) { console.log(name); } hello('ktko');
자바스크립트에서는 함수를 변수에 저장할 수 있고, 함수 안에 return을 함수로 하여 return된 함수를 변수에 담아 실행할 수가 있습니다. 함수가 변수에 저장되는 것을 3가지 코드로 정리하자면..
함수 표현식(변수에 함수 저장하기)
function hello(name) { console.log(name); } hello('ktko1'); //ktko1 출력 var func = hello; func('ktko2'); //ktko2 출력
매개변수 값으로 함수 사용하기
매개변수 역시 변수이기 때문에 매개변수 값으로 함수를 사용할 수 있다는 의미와 같습니다.
아래 예제처럼 함수를 매개변수 값으로 넘겨 매개변수를 일반 함수처럼 사용할 수 있다는 것을 알 수 있습니다.
function excute1() { console.log('excute1'); } function excute2() { console.log('excute2'); } run(excute1); //excute1 출력 run(excute2); //excute2 출력
리턴 값으로 함수 사용하기
함수는 어떤 값이든 리턴할 수 있고, 리턴값으로 함수를 리턴할 수 있습니다.
function excuteGreet() { function hello(name) { console.log(name + "님 환영합니다."); } return hello; } var result = excuteGreet(); result('ktko'); //ktko님 환영합니다. 출력
공부하면서 자바스크립트는 자바와 달리 너무 유연하다는 생각이 듭니다.
물론 다른 언어에서는 자바스크립트처럼 함수를 파라미터로 넣어 사용한다고 하지만 자바를 주로 사용했던 저는 이게 되는구나 라는 생각이 드네요. 공부해야겠습니다.