ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 함수 function
    javascript 2023. 3. 28. 17:55
    반응형

    * 내장 함수 : 브라우저가 이미 가지고 있는 함수 = console, alert, confirm, prompt


    * 함수 function

    function sayHello(name){
         console.log(`Hello, ${name}`);
    }
    sayHello();
    
    /*
    function : 함수
    sayHello : 함수명
    (name) : 매개변수, 매개변수가 없을 수도 있음, 여러개일 때 ','로 구분할 수 있음
    {} : 함수의 실행 코드
    sayHello(); : 함수 호출 방법
    */
    
    //-------------------------------------------------------------------------------------------
    /*매개변수가 없는 함수*/
    function showError(){
         alert("에러가 발생했습니다.");
    }
    
    showError();
    
    //-------------------------------------------------------------------------------------------
    /*매개변수가 있는 함수*/
    function sayHello(name){
         const msg = `Hello, ${name}`;
         console.log(msg);
    }
    
    sayHello("Mike");//Hello, Mike
    sayHello("Tom");//Hello, Tom
    
    //-------------------------------------------------------------------------------------------
    /*만약 name를 모를 때*/
    function sayHello(name){
    	//console.log(name);//undefined : 사용자 이름name이 없을떄 결과가 undefined로 뜨므로 if문에서 undefined는 false이기 때문에 console.log(msg)의 Hello, 가 나옴    
         
         let msg = `Hello, `;
         if(name){
             msg = `Hello, ${name}`;
         }
         console.log(msg);
    }
    
    sayHello();//Hello, 
    
    /*위에 코드 변형한 식*/
    function sayHello(name){
         let msg = `Hello, `;
         if(name){
             msg += `, ${name}`;
         }
         console.log(msg);
    }
    
    sayHello();//Hello, 
    sayHello("Mike");//Hello, Mike

    * 그외 다른 함수

    /*or*/
    function sayHello(name){
         let newName = name || 'friend';
         let msg = `Hello, ${newName}`;
         console.log(msg);
    }
    
    sayHello();//Hello, friend : 매개변수가() 없으므로 let newName = name이 undifined가 되고 undifined는 false이기 때문에 false || 'friend'에서 or은 마지막 true를 반환하기 때문에 friend를 반환
    sayHello("Jane");//Hello, Jane
    
    //또 다른 예, 위에 식 변형 : 기본값 설정하기 = 디폴트 값 넣기
    function sayHello(name = "friend"){
    //(name = "friend") 이게 디폴트 값 : name이 없을 때 name에 friend가 할당 됨
         let msg = `Hello, ${name}`;
         console.log(msg);
    }
    
    sayHello();//Hello, friend
    sayHello("Jane");//Hello, Jane
    
    //-------------------------------------------------------------------------------------------
    /*return으로 값 반환 : return을 적어주면 오른쪽 값을 반환함*/
    function add(num1, num2){
         return num1 + num2;
    }
    
    const result = add(2,3);
    console.log(result);//5
    
    //또 다른 예시
    //return이 없을 때
    function showError(){
         alert("에러");
    }
    
    const result = showError();
    console.log(result);//alert후 undefinde 나옴 : return문이 없는 함수도 항상 undefined를 반환
    
    //return이 있을 때
    function showError(){
         alert("에러");
         return;//return이 있으면 그 즉시 오른쪽 값을 반환하고 종료함 그래서 종료목적으로도 사용
         alert("이코드는 절대 실행 안돼");//return 다음 코드는 실행되지 않음 그래서 alert창 안나옴
    }
    
    const result = showError();
    console.log(result);
    반응형

    'javascript' 카테고리의 다른 글

    함수 선언문, 함수 표현식, 화살표 함수  (0) 2023.03.28
    전역변수, 지역변수  (0) 2023.03.28
    반복문  (0) 2023.03.28
    논리 연산자  (0) 2023.03.28
    조건문  (0) 2023.03.27

    댓글

Designed by Tistory.