JavaScript에서 매개변수와 이름이 일치하는 경우
함수의 매개변수는 함수 내부의 지역 변수입니다. 외부 전역 변수와 동일한 이름으로 함수 매개변수를 지정해 보겠습니다:
function func(num) {
console.log(num);
}
let num = 1;
func(num);
이 경우 함수 외부에는 num 변수가 있고
함수 내부에도 num 변수가 있게 됩니다.
하지만 이들은 서로 다른 변수입니다: 함수 내부에서
변수를 변경하면 함수의 지역 변수가 변경됩니다.
그리고 외부 변수는 함수 내부에서 접근할 수 없으며
어떤 방법으로도 변경할 수 없습니다. 확인해 봅시다:
function func(num) {
num = 2; // 지역 변수를 변경합니다
}
let num = 1;
func(num);
console.log(num); // 1을 출력합니다 - 아무것도 변경되지 않았습니다
코드를 실행하지 않고 콘솔에 무엇이 출력될지 결정하세요:
function func(num) {
num = 2;
}
let num = 1;
func(num);
console.log(num);
코드를 실행하지 않고 콘솔에 무엇이 출력될지 결정하세요:
function func() {
num = 2;
}
let num = 1;
func();
console.log(num);
코드를 실행하지 않고 콘솔에 무엇이 출력될지 결정하세요:
function func() {
let num = 2;
}
let num = 1;
func();
console.log(num);