
변할 수 있는 수
| 특성 | var | let | const |
|---|---|---|---|
| 스코프 | 함수 스코프 | 블록 스코프 | 블록 스코프 |
| 재선언 | 가능 | 불가능 | 불가능 |
| 재할당 | 가능 | 가능 | 불가능 |
| 호이스팅 | 선언과 초기화가 호이스팅됨 | 선언만 호이스팅됨 (TDZ 발생) | 선언만 호이스팅됨 (TDZ 발생) |
| 사용 권장 | 권장하지 않음 | 변수에 권장 | 상수에 권장 |
상수 작성 시 언더스코어 포함 전부 대문자 사용 (예: MAX_LEVEL)기본적으로 카멜케이스 사용
파스칼케이스는 클래스 식별자, 생성자 함수에 사용
클래스 식별자: 클래스 이름 지정 시 사용, 파스칼 케이스로 작성
class MyClass {
constructor() {
// ...
}
}
생성자 함수: 객체 생성 및 초기화 함수, 이름에 파스칼 케이스 사용
```jsx
function Person(name, age) {
this.name = name;
this.age = age;
}
const john = new Person('John', 30);
```
둘 다 파스칼 케이스로 일반 함수나 변수와 구분, 객체 지향 프로그래밍 관례 따름