반응형
1. 변수의 종류
자바스크립트에서 변수는 범위(scope)에 따라 전역 변수(Global Variable) 와 지역 변수(Local Variable) 로 나뉩니다.
- 전역 변수: 코드 어디에서든 접근할 수 있는 변수.
- 지역 변수: 특정 블록({ }) 내에서만 접근할 수 있는 변수.
2. 변수 선언 방법
자바스크립트에서 변수를 선언하는 방법은 var, let, const를 사용하는 것입니다.
var globalVar = "전역 변수"; // 전역 변수 선언
function exampleFunction() {
let localVar = "지역 변수"; // 지역 변수 선언
console.log(localVar); // 정상 출력: '지역 변수'
}
console.log(globalVar); // 정상 출력: '전역 변수'
console.log(localVar); // 오류 발생: localVar is not defined
3. 전역변수 호출 및 반환
전역 변수는 어디서든 접근이 가능하며, 함수 내부에서도 호출할 수 있습니다.
var globalMessage = "Hello, World!";
function printGlobalMessage() {
console.log(globalMessage); // 'Hello, World!'
}
printGlobalMessage();
또한, 함수 내부에서 전역 변수를 수정할 수도 있습니다.
var count = 0;
function incrementCount() {
count += 1;
}
incrementCount();
console.log(count); // 1
4. 지역변수 호출 및 반환
지역 변수는 선언된 블록({ }) 내부에서만 유효합니다. 지역 변수를 함수 바깥에서 호출하려고 하면 오류가 발생합니다.
function localExample() {
let localVar = "I am local";
return localVar; // 반환 가능
}
console.log(localExample()); // 'I am local'
console.log(localVar); // 오류 발생: localVar is not defined
5. 전역 변수와 지역 변수의 충돌
전역 변수와 같은 이름의 지역 변수를 선언하면, 함수 내부에서는 지역 변수가 우선적으로 사용됩니다.
var name = "전역 변수";
function showName() {
let name = "지역 변수"; // 같은 이름의 지역 변수 선언
console.log(name); // '지역 변수' 출력
}
showName();
console.log(name); // '전역 변수' 출력
6. 전역 변수 사용 시 주의사항
- 전역 변수는 코드 전체에서 접근할 수 있으므로, 무분별한 사용은 피하는 것이 좋습니다.
- 전역 변수가 많아지면 코드 유지보수가 어려워질 수 있습니다.
- 필요한 경우 객체 또는 모듈을 활용하여 네임스페이스를 만들어 관리하는 것이 좋습니다.
const App = {
version: "1.0",
settings: {
theme: "dark"
}
};
console.log(App.settings.theme); // 'dark'
이처럼 전역 변수를 객체로 관리하면 충돌을 방지하고, 코드를 더욱 구조화할 수 있습니다.
반응형
'IT > Javascript Basic' 카테고리의 다른 글
[javascript] 삼항 연산자 기본 개념 (0) | 2025.02.14 |
---|---|
[javascript] 로컬 스토리지(Local Storage)란? (0) | 2025.02.09 |
[javascript] 자바스크립트 중급 문법 학습 자료 (1) | 2025.02.09 |
[javascript] 자바스크립트 화살표 함수의 모든것 (0) | 2025.02.09 |
자바스크립트 초급(기초) 문법 학습 자료 (0) | 2025.02.09 |
[javascript 초급 중급 고급] 자바스크립트 초급부터 고급까지 - 자바스크립트 커리큘럼 추천 (0) | 2025.02.08 |
[javascript, console.log] console.log와 console.error의 차이점 (0) | 2025.02.07 |
[javascript refactoring] 자바스크립트 리팩토링(최적화) 방법 및 예시 - 개선 원리 및 설명 포함 (0) | 2025.02.07 |
댓글