Front-end/JavaScript

자바스크립트 변수의 종류와 범위 (지역 변수 등)

NiceKHJ 2024. 7. 24. 13:24

 

1. 지역 변수 (Local Variable)

 

정의 :

  • 함수 또는 메서드 내에서 선언된 변수입니다.
  • 해당 함수가 실행될 때 생성되고 함수가 종료되면 소멸됩니다.

특징 : 

  • 함수 내에서만 접근 가능하며 함수 외부에서는 접근할 수 없습니다.
  • 메모리 사용이 효율적입니다. 함수 호출 시에만 메모리를 사용하고 함수가 종료되면 메모리가 해제됩니다.

 

2. 전역 변수 (Global Variable)

 

정의 :

  • 함수 외부에서 선언된 변수입니다.
  • 프로그램이 종료될 때까지 메모리에 존재합니다.

특징 : 

  • 프로그램의 모든 함수에서 접근 가능합니다.
  • 전역 변수의 사용은 메모리 사용량이 증가할 수 있고 변수명이 충돌할 위험이 있으므로 최소화 하는 것이 좋습니다.

 

 

3. 블록 변수 (Block Variable)

 

정의 : 

  • {} 중괄호로 묶인 블록 내에서 선언된 변수입니다.
  • ES6 에서 도입된 let 과 const 키워드를 사용하여 선언됩니다.

특징 : 

  • 블록 내에서만 접근 가능하며 블록 외부에서는 접근할 수 없습니다.
  • 변수를 필요한 곳에서만 사용할 수 있어 코드의 가독성과 유지보수성이 향상됩니다.

 

4. 정적 변수 (Static Variable)

 

정의 : 

  • 클래스 내부에서 static 키워드를 사용하여 선언된 변수로 클래스의 모든 인스턴스가 공유합니다.

특징 : 

  • 클래스 수준에서 공유됨 : 모든 인스턴스가 동일한 정적 변수를 참조합니다.
  • 인스턴스와 무관 : 인스턴스가 아닌 클래스 이름으로 접근합니다.

 

 

5. 매개 변수 (Parameter)

 

정의 : 

  • 함수나 메서드에 값을 전달하기 위해 사용되는 변수입니다.

특징 : 

  • 함수 호출 시 초기화되며 함수 내에서만 유효합니다.
  • 함수가 종료되면 생명 주기가 끝납니다.

 

 

요약

  • 지역 변수 : 함수 내에서 선언 , 함수 실행 시 생성 , 종료 시 소멸
  • 전역 변수 : 함수 외부에서 선언 , 프로그램 전체에서 접근 가능
  • 블록 변수 : {} 블록 내에서 선언 , 블록 내에서만 유효
  • 정적 변수 : 클래스 내부에서 static 으로 선언된 변수로 클래스의 모든 인스턴스가 공유하며 클래스 이름을 통해 접근합니다.
  • 매개 변수 : 함수나 메서드에 값을 전달하기 위해 사용되는 변수