• 티스토리 홈
  • 프로필사진
    KIMJAVAN
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
KIMJAVAN
  • 프로필사진
    KIMJAVAN
    • 개발 (160)
      • 마크업 언어 (19)
        • HTML (7)
        • CSS (12)
      • 자바스크립트 (85)
        • JavaScript (34)
        • JS Library (6)
        • React (13)
        • threeJS (6)
        • TypeScript (2)
        • Next js (5)
        • Node JS (18)
        • webGL (1)
      • AI (4)
        • chat-gpt (4)
      • flutter (17)
        • dart (11)
        • flutter (6)
      • Sql (3)
      • PHP (4)
      • Python (2)
      • Git (4)
      • vscode (1)
      • 개발 도움 사이트 (7)
      • 작업기록 (1)
      • 오류 모음 (3)
      • 메모장 (7)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • [JS] 매개변수 예제
        2024년 08월 14일
        • KIMJAVAN
        • 작성자
        • 2024.08.14.오전10:08
        728x90
        function add(a, b) {
          console.log('1.', arguments);
          console.log('2.', arguments[0]);
          console.log('3.', typeof arguments);
          return a + b;
        }
        
        console.log('4.', add(1, 3, 5, 7));

         

        이 코드에서 add 함수는 매개변수 a와 b를 받아 두 값을 더하는 단순한 함수입니다. 그런데 이 함수는 arguments 객체를 통해 전달된 모든 인자를 확인하고 있습니다.

        • arguments 객체는 함수가 호출될 때 전달된 모든 인자를 배열 형태로 담고 있습니다. (하지만 실제 배열은 아니며 배열처럼 동작하는 유사 배열 객체입니다.)

        코드 실행 순서:

        1. add(1, 3, 5, 7) 함수가 호출됩니다.
          • a = 1, b = 3으로 할당되고, 나머지 5, 7은 arguments 객체에 저장됩니다.
        2. console.log('1.', arguments);
          • 함수 내에서 arguments 객체를 출력합니다.
          • 이 경우 1. [1, 3, 5, 7]이 출력됩니다.
        3. console.log('2.', arguments[0]);
          • arguments[0]은 첫 번째 인자인 1을 출력합니다.
          • 이 경우 2. 1이 출력됩니다.
        4. console.log('3.', typeof arguments);
          • arguments의 타입은 'object'이므로 3. object가 출력됩니다.
        5. return a + b;
          • a + b를 계산합니다. 1 + 3 = 4가 됩니다.
        6. console.log('4.', add(1, 3, 5, 7));
          • add(1, 3, 5, 7) 함수의 반환 값인 4를 출력합니다.
          • 이 경우 '4.'과 함수 반환 값 4이 함께 출력됩니다.
          • 4. 4가 출력됩니다.

        출력이 이렇게 되는 이유

        console.log('4.', add(1, 3, 5, 7)); 라인에서 먼저 add 함수가 호출되어 console.log들이 순차적으로 실행된 후, a + b의 결과인 4가 반환됩니다. 그리고 이 반환된 값 4가 console.log('4.', 4);로 출력되는 것입니다.

        따라서 출력은 다음과 같은 순서로 이루어집니다

         

        1. [1, 3, 5, 7]
        2. 1
        3. object
        4. 4

         

        즉, 4. 4는 console.log('4.', add(1, 3, 5, 7)); 라인의 4.와 add 함수가 반환한 4가 같이 출력된 것입니다.

        저작자표시 비영리 변경금지 (새창열림)

        '자바스크립트 > JavaScript' 카테고리의 다른 글

        [JS] 생성자함수 new 와 create 차이  (0) 2024.08.19
        [JS] 키의 동적 사용  (0) 2024.08.19
        [JS] switch ~ case / 배열로 true false 처리  (0) 2024.08.12
        [JS] 숫자에 3자리 단위로 쉼표 붙여주기  (0) 2024.04.01
        [JS] QuerySelector / classList  (1) 2024.01.24
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
      • 코드 실행 순서:
      • 출력이 이렇게 되는 이유
      • 안녕하세요
      • 감사해요
      • 잘있어요

      티스토리툴바

      단축키

      내 블로그

      내 블로그 - 관리자 홈 전환
      Q
      Q
      새 글 쓰기
      W
      W

      블로그 게시글

      글 수정 (권한 있는 경우)
      E
      E
      댓글 영역으로 이동
      C
      C

      모든 영역

      이 페이지의 URL 복사
      S
      S
      맨 위로 이동
      T
      T
      티스토리 홈 이동
      H
      H
      단축키 안내
      Shift + /
      ⇧ + /

      * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.