자바스크립트는 유연해서 편리한 언어이다. 이렇게 써도 저렇게 써도 자유롭게 문장을 구성할 수 있는 언어이다.
하지만 이런 편리성은 프로그램이 커지면 가독성이나 디버깅을 하기 어렵게 만든다.
자바스크립트 문법은 벗어나지 않으면서 가독성과 디버깅을 하기 쉽도록 변수를 사용할 때에는 아래와 같이 사용해야한다.
1. 전역변수는 최소한으로 사용한다.
전역변수는 프로그램 어디든 접근할 수 있으므로 편리하게 사용할 수 있다. 하지만 예상하지 못한 곳에서 오류가 발생할 확률이 높다. 그래서 되도록이면 전역변수는 최소한으로 사용하는 것이 좋다.
2. var 변수는 함수의 시작부분에서 선언한다.
var를 이용한 변수는 어디에서 선언하든 상관없지만 내부에서 호이스팅이 생기기때문에 오류가 발생할 확률이 높다.
그래서 var 변수는 함수 시작 부분에서 선언하는 것이 변수를 확인하기도 좋고 오류를 줄일 수 있다.
3. for문에서 카운터 변수를 선언할 때 var 예약어를 사용하지 않는다.
for(초깃값; 조건문; 증감식) 이 ()부분이 카운터 변수라고 한다.
for문 안에서만 사용할 카운터 변수는 그 블록 안에서만 사용할 것이므로 가끔 var를 이용해서 선언하기도 한다.
하지만 이렇게 선언한다고 해서 블록 변수가 되는 것은 아니기 때문에
for문에서 사용할 때에는 let을 이용하거나 for문 바깥에서 선언하는 것이 좋다.
//블록 바깥에서 var로 선언할 경우
var i;
for(i=0; i<9; i++){
자바스크립트 코드
}
//let을 이용해서 블록 변수로 선언
for(let i=0; i<9; i++){
자바스크립트 코드
}
4. ES6를 사용한다면 예약어 var보다는 let를 사용하는 것이 좋다.
var를 사용한 변수는 재선언할 수 있기 때문에 실수로 같은 변수이름을 다시 선언하더라도 오류가 발생하지 않는다.
간혹 여러 사람이 한 프로그램을 같이 작업하다보면 변수 이름이 중복되면서 서로의 코드를 망가트릴 수 있기 때문에 let을 사용하여 이름의 중복을 막아 코드 오류를 줄이는 게 좋다.
'자바스크립트 > 변수' 카테고리의 다른 글
[자바스크립트]- ★매개변수 / 매개변수 없이 인수 값 받아오기 arguments (0) | 2024.07.29 |
---|---|
[자바스크립트] - 변수 const (0) | 2024.07.26 |
[자바스크립트] - 변수의 재선언 / 재할당 (0) | 2024.07.26 |
[자바스크립트] - 변수 let / 함수레벨의 스코프(함수영역) , 블록레벨의 스코프(블록영역) (1) | 2024.07.25 |
[자바스크립트] -스코프 / 지역변수(로컬변수) / 전역변수(글로벌변수) (0) | 2024.07.25 |