인터넷 프로그래밍/Javascript

0. 함수

pakms980319 2024. 2. 19. 12:07

함수

  • 수를 받아 처리하는 논리적 공간이다.
  • 재사용성, 유지보수의 장점이 있다.

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