Day71 - [js]함수, 익명함수, 화살표함수, 즉시실행함수

2021. 5. 27. 20:12Java Script

이번에는 java script 의 함수, 익명함수, 화살표함수, 즉시실행함수에 대해서 알아 봅시다.

 

함수

특정한 실행 코드를 감싸는 함수를 만들어서, 해당 함수를 선언(정의) 해놓고 , 똑같은 코드를 만들 필요 없이 사용하는 방법을 말 합니다.

 

java script의 함수는

function 함수명(매개변수) {실행코드}

로 선언 및 정의 합니다

매개변수를 사용할 경우에, 앞에 데이터 타입을 붙이지 않고 사용합니다.

 

java script의 함수는 함수의 선언(정의) 부분이 호출(실행) 보다 아래에 있어도 정상 작동 합니다.

이를 "호이스팅" 이라고 합니다.

java script의 함수는 매개변수의 개수를 다르게 주더라도 작동 합니다. ( 하지만, 좋은 코드는 아닙니다 )

이게 가능한 이유는, 함수의 가변인자 arguments 때문 입니다.

함수를 호출할 때, 매개변수로 넘겨주는 값은 arguments 라는 이름의 객체에 저장이 되며, 함수에서는 실제로 arguments 를 사용합니다.

java script의 함수가 어떠한 값을 반환하도록 만들고 싶다면 return 을 쓰면 됩니다. (따로 반환형을 명시하지 않습니다.)

java script 는 변수에 함수를 저장시킬 수 있습니다.

함수를 저장한 변수 c 를 출력해보면, 함수가 저장 된 것을 확인 할 수 있습니다.

함수를 변수에 저장했다면, 변수에 () 를 붙여서 함수를 사용할 수 있습니다.

익명함수

익명함수는 함수를 변수에 저장하는 것을 활용해서 함수명을 적지않고 바로 변수에 대입하는 것을 말합니다.

즉. 함수에 이름이 없습니다.

함수를 사용하고 싶다면, 변수 a 에 접근해서 사용하면 됩니다.

매개변수를 넣어줄 수도, 리턴을 사용할 수도 있습니다.

익명함수의 예제.

화살표 함수

익명함수에 function 을 빼고 만든 것을 말합니다.

(a, b) 는 매개변수 입니다.

실행할 코드를 => 로 이어줍니다.

코드가 1줄 및 리턴값이 1개 라면 {} 를 생략할 수 있습니다.

즉시실행 함수

즉시실행 함수는 해당 함수를 호출(사용) 할 필요 없이, 정의 및 선언과 함께 같이 호출(사용)되는 함수 입니다.

 

함수의 선언 및 정의를 () 로 감싸준 후에 뒤에 () 를 붙입니다.

아래와 같이 2개의 함수를 만들었을 떄.

페이지에서 실행되는 초기값을 지정하거나, 초기에 순서대로 실행할 함수들을 정의 하기 위해 사용합니다.

즉. func1() 을 실행한 후 return 되는 값을 변수 result 에 저장해서, 이를 매개변수로 이용해서 func2() 를 실행하는 것처럼. 함수를 실행함에 있어서 순서가 필요할 경우에 사용 합니다.