JavaScript에서의 동일 이름 매개변수
이제 외부 함수와 내부 함수가 동일한 이름의 매개변수를 가진 경우를 살펴보겠습니다:
function test(num) {
function func(num) {
console.log(num); // 1을 출력합니다
}
func(num);
};
test(1);
이 경우 내부 함수에는
로컬 변수 num가 존재합니다. 내부 함수에서 이 변수를 변경하는 것은
외부 변수 num에 어떠한 영향도 주지 않습니다:
function test(num) {
function func(num) {
num = 2; // 로컬 변수 num을 변경합니다
}
func(num);
console.log(num); // 1을 출력합니다 - 아무것도 변경되지 않았습니다
}
test(1);
결과적으로 내부 함수는 외부 변수 num를
변경하기 위해 접근할 수 있는 방법이 없게 됩니다:
function test(num) {
function func(num) {
// 여기서는 외부 변수 num에 접근할 수 없습니다
}
func(num);
}
test(1);
코드를 실행하지 않고 콘솔에 무엇이 출력될지 결정하세요:
function test(num) {
function func(num) {
console.log(num);
}
func(num);
}
test(1);
코드를 실행하지 않고 콘솔에 무엇이 출력될지 결정하세요:
function test(num) {
function func(num) {
num = 2;
}
func(num);
console.log(num);
}
test(1);
코드를 실행하지 않고 콘솔에 무엇이 출력될지 결정하세요:
function test(num) {
function func(num) {
console.log(num);
}
num = 2;
func(num);
}
test(1);
코드를 실행하지 않고 콘솔에 무엇이 출력될지 결정하세요:
function test(num) {
function func(num) {
console.log(num);
}
func(num);
num = 2;
}
test(1);