개발자공부 (2021.11~현재)/JavaScript

자바스크립트의 함수만들기

purplecloud 2022. 1. 4. 19:51

자바스크립트에서 함수는 다음과 같은 방식들로 만들 수 있다.

 

1. 함수표현식
const 함수명= function(매개변수1, 매개변수2){
    ...
    return 값;
}   

 

2. 함수 선언식

1. 이름만 존재하는 함수
    function 함수명(){
        함수가 호출되었을때 실행할 문장;
        ...
    }
    함수명();  // 함수 실행

2. 매개변수가 있는 함수
    function 함수명(매개변수1, 매개변수2){
        함수가 호출되었을때 실행할 문장;
        ...
    }
    함수명(값1, 값2)

3. 디폴트 매개변수
- 매개변수를 정하지 않으면 대신 기본값을 변수에 저장

    function(매개변수1=값1, 매개변수2=값2){
        함수가 호출되었을때 실행할 문장;
        ...
    }
    함수명(값1, 값2)
    함수명()   // 매개변수를 전달하지않아도 기본값으로 실행됨

4. 나머지 매개변수
- 생략 접두사(...)를 사용하여 특정 위치의 인수부터 마지막 인수까지 한번에 지정

    function 함수명(매개변수1,... 매개변수2){
        함수가 호출되었을때 실행될 문장;
    }
    함수명(값1,값2,값3)

5. return 값이 있는 함수

    function 함수명(매개변수1, 매개변수2){
        함수가 호출되었을때 실행할 문장;
        return 값;
    }
    변수=함수명(값1,값2)


6. 화살표 함수
- funtion 키워드를 사용하여 함수를 만드는 것보다 간단히 표현가능
- 화살표 함수는 항상 익명 함수

    const 함수명= (매개변수1, 매개변수1) => 실행문;
    
    함수명(값1, 값2); // 실행

    이름만 있는 함수
    const func1=()=>console.log('안녕하세요')

    매개변수가 있는 함수
    const func2=x=>console.log(`매개변수로 전달받은 값: ${x}`)
    const func3=(x,y)=>console.log(`두 수의 합: ${x+y}`)

    리턴값이 있는 함수
    const funx4 =(x,y)=>{
        let sum=0;
        for(let i=x;i<=y; i++){
            sum+=i;
        }
        return sum;   // x부터 y까지의 합
    }

 

 

화살표함수를 이용하여 간단한 if문을 대체할 수 있기도 하다.


    const age=Number(prompt('나이를 입력하세요'));
    const isAdult= (age>18)? ()=> alert('성인입니다.'):()=>alert('미성년입니다.');

    isAdult();

//사용자로부터 나이를 입력받아 그 수가 18이상이면 성인입니다, 미만일때는 미성년입니다 라고 alert창을 띄운다.

() => 는 바로 전달하여 실행한다.