본문으로 바로가기

자바스크립트 함수와 변수의 관계

category JavaScript 2018. 7. 6. 12:30
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

자바스크립트 함수와 변수의 관계

일반적으로 자바스크립트를 통해 개발하면 아래와 같은 방식으로 개발하며 파라미터로 숫자, 문자, 불린 등의 값을 넣어 파라미터로 입력된 값을 연산하여 리턴하거나 화면에 표출하는 것이 대부분입니다.

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님 환영합니다. 출력


공부하면서 자바스크립트는 자바와 달리 너무 유연하다는 생각이 듭니다.

물론 다른 언어에서는 자바스크립트처럼 함수를 파라미터로 넣어 사용한다고 하지만 자바를 주로 사용했던 저는 이게 되는구나 라는 생각이 드네요. 공부해야겠습니다.