[JavaScript]변수와 상수

윤지·2024년 10월 21일

JavaScript

목록 보기
2/30
post-thumbnail

변수 (ver, let, const)

변할 수 있는 수

특성varletconst
스코프함수 스코프블록 스코프블록 스코프
재선언가능불가능불가능
재할당가능가능불가능
호이스팅선언과 초기화가 호이스팅됨선언만 호이스팅됨 (TDZ 발생)선언만 호이스팅됨 (TDZ 발생)
사용 권장권장하지 않음변수에 권장상수에 권장
  • const로 선언된 객체의 속성 변경 가능 (상수 권장이지만 실제로는 상수가 아님)
    • 이미 할당된 데이터 조작 및 변경 가능 (예: 배열에 push로 값 추가 가능)
  • 키워드 (Keywords): 자바스크립트에서 특별한 의미를 가진 예약된 단어 (예: var, let, const, function, if, else 등)

식별자 (Identifiers): 변수, 함수, 속성 등의 이름 지정에 사용되는 사용자 정의 이름

강제적 규칙

  • 대소문자 구분
  • 숫자로 시작 불가
  • 특수문자는 _와 $ 만 허용
  • 예약어(키워드) 사용 불가
  • 공백 포함 불가

관용적 규칙

  • 영문으로만 작성
  • 상수 작성 시 언더스코어 포함 전부 대문자 사용 (예: MAX_LEVEL)
  • 의미있는 이름 지정
  • 식별자 표기법: 카멜케이스(mySchool) 또는 파스칼케이스(MySchool)
    • 기본적으로 카멜케이스 사용

    • 파스칼케이스는 클래스 식별자, 생성자 함수에 사용

    • 클래스 식별자: 클래스 이름 지정 시 사용, 파스칼 케이스로 작성

      class MyClass {
        constructor() {
          // ...
        }
      }
    • 생성자 함수: 객체 생성 및 초기화 함수, 이름에 파스칼 케이스 사용

      ```jsx
      function Person(name, age) {
        this.name = name;
        this.age = age;
      }
      
      const john = new Person('John', 30);
      ```

      둘 다 파스칼 케이스로 일반 함수나 변수와 구분, 객체 지향 프로그래밍 관례 따름

상수(재할당이 불가능한 수) - 변하지 않는 수

profile
프론트엔드 공부 기록 아카이빙🍁

0개의 댓글