인프런 커뮤니티 질문&답변

김정동님의 프로필 이미지
김정동

작성한 질문수

입문자를 위한 자바스크립트 기초 강의

함수 3편 강의 듣고 질문 드립니다!!

작성

·

282

0

함수 3편에서 설명 되었던 매개변수에 관련된 강의 내용 중 실습한 코드 문법 입니다.

코드가 약간 좀 안맞는 부분이 있긴한데 그 문제 보다는 궁금한 것이 있어 질문 드립니다!

sayAnything 함수 내 for문을 써서 i라는 변수를 넣어서 ++ 시키는건 이해 했는데

어떻게 number의 인자가 i라고 인식하고 있는건가요?

그러니까 i < number 일 때 i++ 인데, i가 어떻게 number의 매개 변수의 인자로 인식하는게

어떤 로직으로 인해 실행되는 걸까요??

답변 1

0

어떻게 number의 인자가 i라고 인식하고 있는건가요?

그러니까 i < number 일 때 i++ 인데, i가 어떻게 number의 매개 변수의 인자로 인식하는게

어떤 로직으로 인해 실행되는 걸까요??

해당 질문의 정확한 궁금점이 이해가 안가 재질문 드리는점 죄송합니다.
매개변수인자 두 용어를 헷갈리시는 것 같아 간단히 짚고 넘어가도록 하겠습니다.
매개변수(인자) : 함수내에서 사용하는 전달된 변수
-> sayAnything(ant, number) 에서는 antnumber가 매개변수 및 인자가 되겠네요.
-> 즉 두 용어는 동일 합니다.
인수 : 함수 호출 시 전달하는 변수
-> sayAnything("지코바", 2); 에서는 "지코바"2가 인수가 되겠습니다

제가 질문을 정확히 이해하지는 못했지만 추측해서 답변 드리겠습니다.
for()문의 형식은 이렇습니다.
for(초기화 변수, 조건문, 증감식)의 형태로 이루어져 있습니다.
let i = 0 --- 초기화 변수
i < number --- 조건문
i++ --- 증감식

어떻게 number의 인자가 i라고 인식하고 있는건가요?
-> 인자로 인식하지 않습니다. number는 함수 호출 시 생성된 변수 라고 생각하면 됩니다.

그러니까 i < number 일 때 i++ 인데, i가 어떻게 number의 매개 변수의 인자로 인식하는게
어떤 로직으로 인해 실행되는 걸까요??
-> i < numver 이 구문의 의미는 i 가 number보다 작을 때 라는 조건입니다.

해당 for()문은 이렇습니다.
1. 변수 i 를 선언 및 0으로 초기화한다.
2. 변수 i 가 매개변수 number보다 작은지 확인한다.
3-1. 2번을 확인 했을 때 작다면(참/True) for()문에 적은 구문을 실행 시킨다. (4번으로 이동)
3-2. 2번을 확인 했을 때 크다면(거짓/False) for()문을 종료한다.
4. 3번을 실행 후 증감식을 실행한다. (i++)
5. 2번으로 돌아간다.

추가로 제어문을 사용시 블록(중괄호)로 묶어주는 편이 좋습니다.
가독성 및 놓칠 수 있는 에러를 방지해줍니다.
for(변수 초기화;조건식;증감식)
{
//실행구문
}

김정동님의 프로필 이미지
김정동

작성한 질문수

질문하기