Javascript return 타입

조익준·2023년 4월 11일
0

Javascript

목록 보기
3/16

1. 여러 가지 Return 타입

1-1. undefined type

ex)

<script>
// undefined를 리턴하는 함수
       function test() {
             console.log("test() 호출됨");
        }
  </script>

함수의 리턴타입이 정해지지 않은 채 호출하게 되면, 함수내에 있던 내용이 실행되고 "undefined"가 리턴된다.

1-2. String type

ex)

<script>
// string type을 리턴하는 함수
        function getName() {
            console.log("getName() 호출됨");
            return "홍길동";
        }
        </script>

getName() 호출시, "홍길동"이 리턴된다.

1-3. Number type

ex)

<script>
//number type을 리턴하는 함수
        function getNum() {
            console.log("getNum() 호출됨");
            return 999;
        }
        </script>

getNum() 호출시, 999가 리턴된다.

1-4. boolean type

ex)

<script>
 // boolean type을 리턴하는 함수
        function isEven() {
            console.log("isEven() 호출됨");
            return true;
        }
        </script>

isEven() 호출시, true가 리턴된다.

1-5. Object type

ex)

<script>
// object type을 리턴하는 함수
        function getMember() {
            let mem = {num: 1, name: "홍길동", addr: "용인시"};
            return mem;
        }
        </script>

getMember() 호출시, {num: 1, name: "홍길동", addr: "용인시"}가 리턴된다.

앞서 Object type은 {key: value. key: value}의 형태로 표현한다했다. 따라서 다르게 표현할 수도 있다.

ex)

let myObj = {
            getData:function() { // value로 function() {}이 들어온것, myObj.getData는 참조이고 myObj.getData()는 함수호출이다. 
                let data = {num: 1, name: "조익준"};
                return data;
            },
       };

myObj.getData;를 호출하면 함수를 참조할뿐이지만, myObj.getData();를 호출하면
data, 즉 num: 1, name: "조익준"이 호출된다. 더 나아가 myObj.getData().num;을 호출하면 1이 호출된다.

1-6. Array type

ex)

<script>
 //array type을 리턴하는 함수
        function getFriends() {
            let friends = ["히히", "주뎅이", "눈사람",];
            return friends;
        }
  </script>

getFriends() 호출시, ["히히", "주뎅이", "눈사람",]이 출력된다.

Array type도 마찬가지로 [ ]로 표현하기 때문에 다르게 표현할 수 있다.

ex)

<script>
   let Eat = {
            foods: function() {
               let Favfoods = ["라면", "짜장면", "칼국수"];
               return Favfoods;
            }
        };
  </script>

Eat.foods();를 호출하면 ["라면", "짜장면", "칼국수"]이 출력된다. 또한 Eat.foods()[0]을 호출하면 라면이 출력된다.

Array type과 Object type을 리턴할 때, 헷갈릴 수 있는 개념이 있다. 정리하자면 다음과 같다.

  1. document. >> let document = {}; 의 형식으로 추정할 수 있다. 구체적인 key와 value는 주어지지 않은 상태다.

  2. document.querySelector // let document = {querySelector: }; 로 추정할 수 있고 key만 주어진 상태다.

  3. document.querySelector() // let document = {querySelector: function() {return{}}; 로 추정할 수 있다.

  4. document.querySelector().innerText // let document = {querySelector: function() {return {innerText: }};

profile
비가역적인사람

0개의 댓글