반응형
매개변수와 인자는 동일한 의미 같지만 다르다.
프로그래밍 전반에서 자주 쓰이는 만큼 두 차이를 정확하게 알아보자!
function message(name){ // name -> 매개변수
return `Hi, ${name}`;
}
console.log(message('John'))'; // 'John' -> 파라미터
// 'Hi, John'
인자(argument)란?
인자는 함수를 호출할 때 전달되는 값을 의미한다.
매개변수(parameter)란?
매개변수는 함수에서 전달된 인자를 받아들이는 변수를 의미한다.
함수 내에서 지역변수로 사용된다.
매개변수와 인자
자바스크립트 특성상 느슨하기 때문에 함수를 호출할 때 인자 값, 개수 등을 정확하게 검사하지 않는다.
function message(name){
return `Hi, ${name}`;
}
console.log(message())' // 'Hi, undefined'
1. 매개변수 개수 > 인자 개수
함수 생성 시 정의된 매개변수보다 인자의 개수가 작더라도 undefined로 설정되어 전달된다.
undefined가 아닌 default 값을 할당하기 위해 매개변수에 기본값을 설정할 수도 있다.
function message(name = 'James'){
return `Hi, ${name}`;
}
2. 매개변수 갯수 < 인자 갯수
매개변수보다 많은 인자를 전달하더라도 나머지 인자들은 모두 무시된다.
-> 따라서 두 케이스 모두 에러가 발생하지 않는다.
반응형
'Front-end > JavaScript' 카테고리의 다른 글
[JS] 모듈 export, import 사용하기 (0) | 2023.03.19 |
---|---|
[JS] Map 객체 (Map Object) 알아보기 (0) | 2023.03.13 |
[JS] 2진수, 8진수, 16진수, 10진수 변환하기 (2) | 2023.03.10 |
[JS] arguments 객체 | 나머지 매개변수 (0) | 2023.03.06 |
[JS] NaN === NaN은 false || isNaN() / Number.isNaN() 차이 (0) | 2023.03.01 |