함수
- 수를 받아 처리하는 논리적 공간이다.
- 재사용성, 유지보수의 장점이 있다.
1. 함수의 4가지 형태 (ECMA6 이전, 기본 Hoisting이 적용된다)
함수 | 매개변수 | 반환 |
function f1(n1, n2) { ... return ... } |
O | O |
function f2(n1, n2) { ... } |
O | X |
function f3() { ... return ... } |
X | O |
function f4() { ... } |
X | X |
1) 반환이 없는 함수도 반환을 한다
단, 반환 값은 없기에 undefined를 리턴한다.
2) 매개변수가 없는 함수도 인자를 줄 수 있다. (의미가 없다)
오버로딩이 되고있다.
2. 함수의 호출 방법
밑의 방법으로 함수를 호출하고 함수의 실행이 끝나면 호출했던 위치로 다시 돌아간다
f1(n1, n2) let result = f3() |
3. 화살표 함수 (Hoisting 적용 X)
() => { ... } const a = () => { ... } |
- 자체 바인딩이 this에 없다.
- 메서드로 사용할 수 없다.
- 생성자로 사용할 수 없다.
4. 함수의 리턴 형태 (Object)
function f5() { return {}; } |
1) 객체를 리턴하는 함수 f5()
2) 객체에서 함수를 담은 속성을 리턴하는 함수 f6()
주의
화살표 함수는 this를 바인딩하지 못하므로 위 스크립트 화살표 함수안에서 this.name을 호출한다면 값을 참조하지 못한다.
5. 함수의 가변인자 (...args)
function f6(...args) { ... } |
1) 가변인자를 출력하는 함수 f6()
인자들을 리스트로 받고있다.
2) 여러 데이터 타입의 가변인자를 받아 차례대로 출력하는 함수 f7()
함수도 객체이므로 인자로 넘겨줄 수 있다.
'인터넷 프로그래밍 > Javascript' 카테고리의 다른 글
0. Closure (0) | 2024.02.20 |
---|---|
0. Hoisting (0) | 2024.02.19 |
0. 반복문 (0) | 2024.02.19 |
0. SWITCH (0) | 2024.02.19 |
0. IF (0) | 2024.02.19 |