본문 바로가기

JavaScript/DAY 34 _ 23.10.11

함수2

            // 가정해보자

            // 이건 누군가가 만들어놓은 API임. 안보인다고 쳐 (String처럼 rgrg)
            function someApi(variationName){
                console.log("실행코드...1");
                //....
                variationName();    
                // 이 API를 만든 인간이 이 API를 쓰는사람이 던지는 숫자 등을 받아서 여기다가 쓰겠다는거지 뭐
                // --> 내생각 : 나도 STM에서 println직접 만들었었지. 거기에 text를 치는건 user였잖아?
                // --> user가 입력한 값을 return해줬던거고.
                // --> 콜백받아서 특정 함수 내에서 실행시킬 수 있다는거지~
                console.log("실행코드...2");
                console.log("실행코드...3");
            };

            function myFuntion(){
                console.log("내가만든 함수");
            };
            function myFuntion2(){
                console.log("내가만든 함수222");
            };

            someApi(myFuntion);
            someApi(myFuntion2);

 

            // ★★★ 함수를 정의하는 3가지 방법 ★★★

            // 1. Named Function : 이름을 명시적으로 지정한 함수
            // --> 내가 호출하기 위한 용도
            // --> 함수 이름을 사용하여 함수를 호출할 수 있다

            function qwer11(){
                console.log("named function");
            };
            qwer11();

          

            // 2. Anonymous Function (익명 함수): 함수에 이름을 지정하지 않은 함수
            // --> 주로 다른 함수 내에서 사용하거나 변수에 할당하여 사용

            const anonymous = function (x, y){
                console.log("anonymous function");
            };
            anonymous();    // --> 변수에 익명 함수를 받아서 호출한거지뭐

         

           // 3. Arrow Function (= 람다식)
            // --> JS에서는 람다식 필수 ㅠ_ㅠ

            // 3-1.
            const square = (x) => x * x;
            console.log(square(8));

            // 3-2.
            const qwer3 = () => {
                console.log("arrow function");
                // return 2252;
            };
            console.log(qwer3()); 
            // 출력 : arrow function, undefined
            // --> log내용이랑, return해주는게 없으니까 undefined

 

            // ★콜백으로 활용시?

            // CASE 1. named function
            setTimeout(qwer11, 3000);

            // CASE 2. anonymous function
            setTimeout(function(){
                console.log("콜백-anonymous");
            }, 6000);

            // CASE 3. arrow function
            setTimeout(() => {
                console.log("콜백-arrow");
            }, 9000);

'JavaScript > DAY 34 _ 23.10.11' 카테고리의 다른 글

함수 Basic  (0) 2023.10.11
배열  (0) 2023.10.11
조건/반복문  (1) 2023.10.11
연산자  (0) 2023.10.11
변수  (0) 2023.10.11