함수 내에서 선언한 변수인 지역 변수(local variable)는 함수 안에서만 접근할 수 있습니다.
function showMessage() {
let message = "안녕하세요!"; // 지역 변수
alert( message );
}
showMessage(); // 안녕하세요!
alert( message ); // ReferenceError: 함수 밖에서 내부를 불러올 수 없음
함수 내부에서 함수 외부의 변수인 외부 변수(outer variable)에 접근할 수 있습니다.
let userName = 'John'; // 외부 변수
function showMessage() {
let message = 'Hello, ' + userName;
alert(message);
}
showMessage(); // Hello,
함수에선 외부 변수에 접근하는 것뿐만 아니라, 수정도 할 수 있습니다.
let userName = 'John'; // username은 전역변수임
function showMessage() {
let userName = "Bob"; // 같은 이름을 가진 지역 변수를 선언합니다.
let message = 'Hello, ' + userName; // Bob
alert(message);
}
// 함수는 내부 변수인 userName만 사용합니다,
showMessage();
alert( userName );
// 전역변수는 모든 함수에서 접근이 가능함