var, let, const 차이
var (변수 재선언 가능)
var variable = '변수선언'
console.log(variable) // 변수선언
var variable = '변수선언2'
console.log(variable) // 변수선언2
- 변수 선언을 여러번해도 에러없이 출력되어 이를 보완하기 위해 ES6부터 let, const 개념 추가되었다.
console.log(variable) // undefined
var variable = '변수선언'
- 호이스팅 (끌어올린다 라는 의미로 변수와 함수를 소스의 맨 위치로 이동하는 것)이 가능하다.
let (변수 재선언 불가능, 변수 수정 가능)
let variable = '변수선언'
console.log(variable) // 변수선언
let variable = '변수선언2'
console.log(variable)
// Uncaught SyntaxError: Identifier 'variable' has already been declared
- variable이 이미 선언되었다는 에러 메세지가 나온다. (const도 마찬가지)
const (변수 재선언 불가능, 변수 수정 불가능)
const variable = '변수선언'
console.log(variable) // 변수선언
variable = '변수수정'
console.log(variable)
// Uncaught TypeError: Assignment to constant variable.
const variable = '변수선언2'
console.log(variable)
//Uncaught SyntaxError: Identifier 'variable' has already been declared
- const의 경우 constant(상수)의 의미 그대로 한번만 선언할 수 있고 수정이 불가능하다.
💡 바람직한 변수명 변수명은 간결하고 명확해야 한다. (= 변수가 담고 있는 것이 무엇인지 잘 설명할 수 있어야 한다.) 변수 이름을 짓는 것은 프로그래밍에서 가장 중요하고 복잡한(?) 기술중 하나이다.
💡 참고하기 좋은 <변수 명명 규칙>
- userName 이나 userPassword 처럼 사람이 읽을 수 있는 이름을 사용한다.
- 무엇을 하고 있는지 명확히 알고 있지 않을 경우 외에는 줄임말이나 a, b, c와 같은 짧은 이름은 피한다.
- 최대한 서술적이고 간결하게 명명한다. data와 value는 나쁜 이름의 예시이다. 설명 해주지 않기 때문이다. 코드 문맥상 변수가 가리키는 데이터나 값이 아주 명확할 때에만 이런 이름을 사용하자!
- 자신만의 규칙이나 소속된 팀의 규칙을 따른다. 만약 사이트 방문객을 'user’라고 부르기로 했다면, 이와 관련된 변수를 currentVisitor나 newManInTown이 아닌 currentUser나 newUser라는 이름으로 지어야 한다.
|