Parameter(매개변수, 인자) : 함수를 실행할 때 필요하다고 지정하는 값
ex) function sum(a, b) <-- 함수를 실행 하기 위해서 a와 b 값이 필요합니다.
Argument(인수, 전달 인자) : 함수를 실행할 때 매개변수로 넘겨주는 값
ex) sum(2, 3); <-- 매개 변수에 2, 3을 넘겨줍니다.
*** Hoisting(호이스팅): '끌어올리다' 라는 뜻을 가지고 있다.
함수를 실행하기 전에 안에 있는 변수를 최상단으로 끌어올린다.
자바스크립트 엔진이 코드를 실행하기 전에 선언해둔 함수, 변수를 미리 파악해서 메모리에 저장함.
=> 변수를 실행하기 전이지만 메모리에 기억을 하고 있기 때문에 선언한 것과 같은 효과가 있음.
(var가 아닌 let을 써야하는 이유임 호이스팅을 방지하기 위함)
let에도 호이스팅이 있지만 TDZ로 인해 실제 선언이 되거나 할당이 되는 곳 이전까지에는 변수의 사용이 불가능하다!
(호이스팅 방지)
전역 변수: 함수 바깥에서 선언되어 스크립트 전체에서 사용이 가능한 변수
지역 변수: 함수 안에서 선언되어 함수 내부에서만 사용이 가능하며, 바깥에서는 사용이 불가능한 변수
parseInt(): 문자열을 변수로 전환시켜준다. = Number()
ex)
let num1 = parseInt(prompt('첫번 째 숫자는?'));
// 프롬프트에 숫자를 적어도 문자형으로 반환이 되는데 parseInt를 통해 정수(숫자형)로 변환시켜준다
let num2 = parseInt(prompt('두번 째 숫자는?'));
sum(num1, num2); => 함수 호출은 위치에 상관 없이 가능하다.
function sum(a, b) {
let result = a + b;
console.log(result);
}
함수의 매개변수 기본 값 지정하기
ES6에는 매개변수가 있는 함수를 선언할 때 매개변수의 기본 값을 지정하는 기능이 생겨버렸다.
ex) function sum(a, b = 5, c = 10) {
return a + b + c;
}
sum(5); => 20 // a에 인자 5만 줬으므로 나머지 매개변수에 지정되어있는 기본 값을 참조하여 함수가 실행된다.
sum(5, 7) => 22 // 기본 값이 지정되어 있어도 다른 값으로 인자를 설정할 수 있다.
sum(5, 7, 8) => 20 // 위와 같음
'개발공부' 카테고리의 다른 글
HTTP 모듈로 서버 만들고 실행해보기 (0) | 2024.01.18 |
---|---|
Node.js 주특기 입문 1일차 (0) | 2024.01.17 |
변수 var, let, const (0) | 2024.01.09 |
sort 배열 문법 (0) | 2024.01.09 |
내가 공부한 거 정리하는 소박한 공간 (1) | 2024.01.08 |