변수란?

  • 프로그램이 실행되는 도중에 변경되는 저장하기 위한 이름을 가진 저장소
  • 변수 선언하기

    // let 이름 = 값;
    let color = "skyblue";
    
    console.log(color); // skyblue
    
  • 중간에 값을 변경하는 경우

    // let 이름 = 값;
    let color = "skyblue";
    color = "yellow";
    
    console.log(color); // skyblue
    

변수 명명 규칙

  • $_ 를 제외한 기호는 사용하면 안됨

    let $name;
    let test_data;
    
    let & name; //불가능
    let ^ test; //불가능
    
  • 변수명의 맨 앞은 숫자를 사용하면 안됨
    let 1test; //불가능
    let test12; //가능
    
  • 예약어는 변수로 사용할 수 없음

    let let = 1; //에러!!
    let class = "class"; //에러!!
    
    • 예약어(Reserved Words) : JavaScript에는 미리 정의된 키워드들

      • * 표시가 있는 단어는 ES6 이상에서 새롭게 사용되거나 예약된 키워드

        abstract     arguments     boolean     break         byte
        case         catch         char        class*        const
        continue     debugger      default     delete        do
        double       else          enum*       eval          export*
        extends*     false         final       finally       float
        for          function      goto        if            implements
        import*      in            instanceof  int           interface
        let          long          native      new           null
        package      private       protected   public        return
        short        static        super*      switch        synchronized
        this         throw         throws      transient     true
        try          typeof        var         void          volatile
        while        with          yield
        

긴 변수명 표기법

  • 변수가 길어지는 경우 띄어쓰기가 되지 않아 읽기가 불편한 일이 생김

    let iscatordog;
    
  • 카멜 표기법

    • 단어를 차례대로 나열하면서 첫 단어를 제외한 각 단어의 첫 글자를 대문자로 작성하는 방법

      let isCatOrDog;
      
    • 카멜 표기법으로 변수명을 작성하게 되면, 훨씩 읽기 수월하고 좀 더 직관적으로 변수의 역할을 확인할 수 있게 됨

동적 타입과 typerof 연산

  • C나 Java는 변수를 선언할 때, 앞에 char 나 string 처럼 해당 변수의 자료형을 먼저 작성해야 함
  • 자바스크립트의 변수의 자료형은 어떻게 알 수 있지?

    • typeof 연산자를 사용하여 자료형을 알 수 있음

      let nowType = "안녕하세요";
      console.log(typeof nowType); // string
      
  • 왜 자바스크립트 변수는 선언 시 자료형을 명시하지 않을까?

    • 자바스크립트 변수는 값이 바뀔때마다 바뀐 값의 자료형을 변수의 자료형으로 갖는 동적 타입을 지원하기 때문

      let nowType = "안녕하세요";
      console.log(typeof nowType); // string
      
      nowType = 100;
      console.log(typeof nowType); // number
      
      • 첫 번째 콘솔의 결과값은 string 이 출력되고, nowType 변수의 값이 100으로 변경된 이후의 결과값은 number 가 출력됨
    • 자바스크립트 변수는 같은 변수에, 서로 다른 타입의 값을 저장하더라도, 아무런 에러 없이 유연하게 값과 함께 타입이 변하는 것을 알 수 있음
    • 그렇기 때문에 자바스크립트는 별도로, 변수를 선언 시 앞에 자료형을 명시하지 않아도 됨


상수

  • 상수란, 변화하지 않는 변수
  • 상수를 선언할 땐 let 이 아닌 const 키워드를 통해 변수를 선언을 해야 함
    • let으로 선언된 변수는 중간에 값이 변경 될 수 있지만, const로 선언된 변수는 프로그램 실행 도중 변화할 수 없는 변수인 상수가 됨

상수 활용 예시

  • 상수는 생일, 이름 등 정말 값이 절대 변경될 수 없다고 확신할 때, 다른 개발자들이 변수의 값을 변화시키는 것을 방지하기 위해 사용됨
  • 상수는 값이 변경되지 않기 때문에 기억하기 어려운 값을 저장하는 예약어로도 사용

    const GITHUB_URL = "<https://github.com/hbin12212>";
    const HOMEPAGE = "<https://www.hyobb.com>";
    
    let nowUrl = GITHUB_URL;
    
    • 상수를 예약어로 활용할 때는 위와 같이 전부 대문자로 선언 후 사용



📚 이 글은 인프런 - 웹 프론트엔드를 위한 자바스크립트 첫걸음을 수강하며 정리한 내용입니다.
강의자: 효빈 (Hyobin)
※ 본 글은 개인 학습 목적으로 작성되었으며, 일부 내용은 강의 자료를 참고하였습니다.

댓글남기기