함수 사용 이유
프로그래밍을 하다보면 중복되는 기능들을 묶어서 사용하고 싶다. 그런 경우 함수를 사용하면 쉽게 구현할 수 있다.
아래의 소스코드를 보면, 면적을 구하기 위해서 width와 height를 계속 곱하는 부분이 반복된다.
소스 코드
결과
반복되는 부분들을 계속 타이핑할 순 없으니, 함수를 이용하도록 하자.
1. 함수 선언식
위에서 면적을 구하는 부분들을 함수 구현식으로 함수를 구현하면 아래와 같다.
소스 코드
결과
getArea라는 메서드만 이용하면, 사람이 직접 타이핑 해야하는 수고를 덜어준다. 지금은 2개만 사용해서 큰 차이가 없게 느껴지지만 계속 사용하게 된다면 엄청난 차이가 난다.
2. 함수 표현식
위에서는 함수 선언식을 통해서 함수를 구현했다면, 이제는 무명함수를 이용해서 변수에다가 함수를 표현해보도록 하자.
소스 코드
결과
함수를 변수에다가 넣어서 로그를 찍으면 위 결과 처럼 출력된다. 함수를 변수에 넣을 수 있다는 것을 잊지 말자.
log에서 "Hello JY!"를 출력하고 싶다면, hello 변수를 함수처럼 사용하면 된다. 사용법은 아래와 같다.
소스 코드
결과
Hello JY!
위 처럼 hello변수에 ()를 붙여 마치 함수처럼 사용하면된다. 물론 log(hello()) 로 집어 넣어도 바로 출력됨을 알 수 있다.
3. 함수 선언식, 함수 표현식(무명함수) 차이점
소스 코드
결과
함수 선언식으로 함수를 구현해주면, 함수를 구현한 소스코드가 가장 먼저 실행된다. 그래서 위 예제와 같이 helloB() 함수를 구현 전에 실행하더라도, 실행이 가능한 것을 확인할 수 있다.
하지만, 함수 표현식으로 변수에 무명함수를 넣는 것은 함수를 구현하기 전에 사용이 불가능함을 알 수 있다.
4. 화살표 함수
소스 코드
4-1에서는 중괄호를 사용하는 화살표함수를 알수있고, 리턴값만 있는 함수일 경우에는 중괄호를 빼고 바로 리턴할 수 있다.
'Front-End > 자바스크립트' 카테고리의 다른 글
[자바스크립트] 객체 생성 및 사용 방법 예제 (0) | 2022.06.16 |
---|---|
[자바스크립트] 콜백함수(CallBack) 예제를 통해 가장 쉽게 이해하기 (0) | 2022.06.14 |
[자바스크립트] 조건문 if문, switch문 기본 예제 (0) | 2022.06.14 |
[자바스크립트] 연산자 예제 및 총정리 (0) | 2022.06.13 |
[자바스크립트] 타입 종류의 특징 및 예제(Primitive Data Type) (0) | 2022.06.12 |