ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ JavaScript ] 함수
    PROGRAMMING/JavaScript 2022. 5. 19. 22:54

    하루입니다.

     

     


     

     

    자바와의 차이점

    • 접근제한자가 없다.
    • 반환타입을 지정할 필요가 없다.
    • 매개변수의 타입을 지정할 필요가 없다.
    • 함수 중복정의가 소용이 없다.

     

     

    이름있는함수, 이름없는함수

    이름있는 함수 정의하기

    function fn1() {
        console.log("이름있는 함수가 실행됨");
    }

     

    실행

    • 함수명();

     

     

    이름없는 함수 정의하기 : 변수에 담아야 한다.

    let fn2 = function () {
        console.log("이름없는 함수가 실행됨");
    }

     

    실행

    • 변수명();

     

     

    위 식에서 fn2가 실행되지 못한 이유. function은 스크립트 구문 분석할 때 window에 담긴다. 선언 위치 상관 없이 실행 가능하다는 뜻. fn2는 변수이고, 일단 function()이 실행돼야 fn2에 값이 담기게 된다. 

     

    실행을 정의 밑에서 하면 잘 실행된다.

     

     

     

    변수 스코프

    • var로 선언하냐 let으로 선언하냐에 따라 변수의 스코프가 완전히 달라진다. 자바와 자.스는 비슷한 듯 정말 엄청나게 다르다 ...
    • 매개변수를 받지 못하면 에러가 아닌 undefined값이 뜬다 (...)
    • 지역변수는 함수 내부에서 선언한 변수이며, 해당 함수 내에서만 사용 가능하다 (이건 또 자바랑 같네)

     

     

    자바스크립트의 함수의 매개변수

    • 자바의 매개변수는 함수 중복정의 지원하지 않는다.
    • 같은 이름 함수 여러개 정의하면 맨 마지막 함수만 사용한다.

     

     

    fn이라는 이름의 변수 세 개 만들었다. 처음은 매개변수 없음, 두번째는 한 개, 세 번째는 두 개. 그 밑에는 fn에 1~5개의 값을 줘봤다. fn(x, y)만 시행된다. 만약 fn(x)가 마지막으로 온다면 fn(n)이 마지막으로 실행될 것. 

     

     

     

    함수의 반환값

       // return문이 없는 함수는 항상 unsefined를 반환한다.
        function fn1() { }
    
        // 정수값을 반환하는 함수다.
        function fn2() {
            return 10;
        }
    
        // 배열을 반환하는 함수다.
        function fn3() {
            return [10, 20, 30];
        }
    
        // 객체를 반환하는 함수다. 
        function fn4() {
            return {
                no: 1001,
                name: "홍길동",
                email: "hong@gmail.com",
                phone: "010-0000-0000",
                info: function() {
                    console.log("번호: ", this.no);
                    console.log("이름: ", this.name);
                    console.log("메일: ", this.email);
                    console.log("연락처: ", this.phone);
                }
            }
        }
        
        // 객체를 반환하는 함수다. 
        function fn5() {
            return function(x, y) {
                return x + y;
            }
        }

     

     

     

    실행 결과

     

    함수를 함수 안에 ... 알 수 없는 자.스의 세계 ... 

     

     

    참고자료

     

     

     


     

     

     

     

    잘못된 정보에 대한 지적은 언제나 환영입니다. 

     

    복습 끝!

     

     

     

Designed by Tistory.