LeeWang_31
이왕31
LeeWang_31
전체 방문자
오늘
어제
  • 분류 전체보기 (234)
    • 프로젝트 (2)
      • 사이드 프로젝트 (2)
      • Codestates_pre_project (0)
    • 프론트엔드 (169)
      • Html (19)
      • CSS (18)
      • JavaScript (29)
      • Codestates (76)
      • 코딩노트 (27)
    • 백엔드 (10)
      • node (10)
    • 구르는 돌 🌑 (16)
      • Codestates (11)
      • 생각 (4)
      • 공부 흔적 (1)
    • 정보 (18)
      • 오류노트 (2)
      • 인텔리제이 정보 (9)
      • 깃 정보 (3)
      • 기타 정보 (4)
      • 안드로이드스튜디오 정보 (0)
    • CS (7)
      • 이론공부 (7)
    • App (6)
      • Android (3)
      • Kotlin (3)
    • 컴퓨터 수학 (5)
      • 암호론 (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 번들링
  • ubuntu
  • linux
  • 사이드프로젝트
  • 사용자 친화 웹
  • 코딩애플
  • linuix 코드스테이츠
  • 백준
  • css
  • 파이어베이스연동
  • 코드스테이츠
  • figjam
  • 안드로이드스튜디오파이어베이스
  • 사용자친화웹
  • 1292
  • 2693
  • React
  • TODOlist
  • 자바스크립트
  • 2609
  • JavaScript
  • 생활코딩
  • 알고리즘
  • DP
  • 코플릿
  • 안드로이드스튜디오범블비
  • UI/UX
  • html
  • codestate
  • 웹팩

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
LeeWang_31

이왕31

생활코딩 자바스크립트 기본 - 함수지향 (arguments)
프론트엔드/JavaScript

생활코딩 자바스크립트 기본 - 함수지향 (arguments)

2022. 8. 3. 17:14

본 게시글은 인프런 강의 "생활코딩 - 자바스크립트(JavaScript) 기본"를 보고 공부한 내용을 정리하고 있습니다.

https://www.inflearn.com/course/%EC%A7%80%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%96%B8%EC%96%B4-%EA%B8%B0%EB%B3%B8/dashboard

 

[무료] 생활코딩 - 자바스크립트(JavaScript) 기본 - 인프런 | 강의

생활코딩의 자바스크립트 언어 기본 수업입니다. 기본 문법을 통한 자바스크립트 기본에 대해 배울 수 있습니다., - 강의 소개 | 인프런...

www.inflearn.com


arguments

함수에는 인자(argument)라는 변수에 담긴 숨겨진 유사 배열이 있다. 이 배열에는 함수를 호출할 때 입력한 인자가 담겨있다.

function sum(){
    var i, _sum = 0;
    for(i = 0; i < arguments.length; i++){
        document.write(i+' : '+arguments[i]+'<br />');
        _sum += arguments[i];
    }
    return _sum;
}
document.write('result : ' + sum(1,2,3,4));

document.write를 보면 sum함수에 1,2,3,4라는 인자를 넣었습니다.

하지만 sum함수에는 매개변수의 정의가 보이지 않습니다.

자바스크립트의 경우 함수에서 매개변수를 정의하지 않아도 인자의 값을 마음대로 지정해도 error가 나지 않는다.

 

그래서 for문에서 argument.length가 4가 나올수 있다.

i개 0인 for문에서는 첫번째 인자인 1이 출력되고, _sum에 더해진다.

이러한 과정이 반복한다.

다음 코드의 출력은 다음이다.

0 : 1
1 : 2
2 : 3
3 : 4
result : 10

 

매개변수의 수

 

function zero(){
    console.log(
        'zero.length', zero.length,
        'arguments', arguments.length
    );
}
zero(); // zero.length 0 arguments 0
function one(arg1){
    console.log(
        'one.length', one.length,
        'arguments', arguments.length
    );
}
one('val1', 'val2');  // one.length 1 arguments 2

function two(arg1, arg2){
    console.log(
        'two.length', two.length,
        'arguments', arguments.length
    );
}
two('val1');  // two.length 2 arguments 1

함수 one을 보면 매개변수는 1개이고, 인자는 2개이다.

함수 two를 보면 매개변수는 2개이고, 인자는 1개이다.

오류는 나오지 않지만, 의도와 다른 행동이기 때문에 이런 경우 error를 볼수 있게 만드는게 적절하다.

저작자표시 (새창열림)

'프론트엔드 > JavaScript' 카테고리의 다른 글

생활코딩 자바스크립트 기본 - 객체지향 | 생성자와 new  (0) 2022.08.30
생활코딩 자바스크립트 기본 - 함수지향(함수의 호출)  (0) 2022.08.03
생활코딩 자바스크립트 기본 - 함수지향(클로저)  (0) 2022.08.02
생활코딩 자바스크립트 기본 - 함수지향 (값으로서의 함수와 콜백)  (0) 2022.08.02
생활코딩 자바스크립트 기본 - 함수지향(유효범위)  (0) 2022.08.02
    '프론트엔드/JavaScript' 카테고리의 다른 글
    • 생활코딩 자바스크립트 기본 - 객체지향 | 생성자와 new
    • 생활코딩 자바스크립트 기본 - 함수지향(함수의 호출)
    • 생활코딩 자바스크립트 기본 - 함수지향(클로저)
    • 생활코딩 자바스크립트 기본 - 함수지향 (값으로서의 함수와 콜백)
    LeeWang_31
    LeeWang_31
    이왕 할 거면 기분 좋게

    티스토리툴바