ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 함수 선언문, 함수 표현식, 화살표 함수
    javascript 2023. 3. 28. 18:56
    반응형

    * 함수 선언문

     

    - 어디서든 호출 가능

     

    function sayHello(){
    	console.log("Hello");
    }
    
    sayHello();
    
    //또 다른 예시 
    sayHello();//위에서도 호출 가능함
    
    function sayHello(){
    	console.log("Hello");
    }
    //코드 실행 가능 이유 : 자바스크립트 내부 알고리즘 때문에, 자바스크립트는 실행전 초기화 단계에서 코드의 모든 함수선언문을 찾아서 생성해놓음, 즉 저 함수를 사용할 수 있는 범위가 넓어짐 : 호이스팅

    * 함수 표현식

     

    - 자바스크립트가 한줄씩 읽으면서 실행

    - 해당 코드에 도달하면 생성

    - 그래서 그 이후에만 사용 가능 = 호출 위치를 위로 바꾸면 실행되지 않음

    let sayHello = function(){
    	console.log("Hello");
    }
    
    sayHello();

     


    * 화살표 함수

    - function 단어가 사라지고 괄호 뒤쪽에 =>이 생겨

    /*인수가 하나일 때*/
    let sayHello = function(name){
    	`Hello, ${name}`;
        }
    //화살표 함수로 바꾸면
    let sayHello = (name) => {
    `Hello, ${name}`
    };
    //괄호 생략 가능
    let sayHello = name => `Hello, ${name}`;
    
    //-------------------------------------------------------------------------------------------
    /*인수 두개일 때*/
    let add = function(num1, num2){
    	return num1 + num2;
    }
    //화살표 함수로 바꾸면
    let add = (num1, num2) => {
    	return num1 + num2;
    }
    //retrun문은 ()로 바꿀 수 있음
    let add = (num1, num2) => (
    	num1 + num2;
    )
    //retrun문이 한줄이라면 ()도 생략 가능
    let add = (num1, num2) => num1 + num2;
    //retrun문이 있더라고 해도 return문 전에 여러줄의 코드가 있을 경우 ()로 바꿀 수 없음
    let add = function(num1, num2){
    	const result = num1 + num2;
    	return result;
    }
    
    let add = (num1, num2) => {
    	const result = num1 + num2;
    	return result;
    }
    
    //-------------------------------------------------------------------------------------------
    /*인수가 없을 때*/
    let showError = function(){
    	alert("error");
    }
    //화살표 함수로 바꾸면
    let showError = () => {
    	alert("error");
    }
    //이때는 괄호를 생략할 수 없음
    반응형

    'javascript' 카테고리의 다른 글

    객체 Object의 method와 this  (0) 2023.03.28
    객체 Object  (0) 2023.03.28
    전역변수, 지역변수  (0) 2023.03.28
    함수 function  (0) 2023.03.28
    반복문  (0) 2023.03.28

    댓글

Designed by Tistory.