JS/JavaScript&TypeScript

JavaScript&TypeScript 04. 변수&상수

shin96bc 2022. 4. 2. 23:45

(1) 변수 & 상수

     Github: https://github.com/SHIN96BC/JavaScript-TypeScript-Concept-2022/tree/main/04_Variable

     1) 변수 ( Variable )
          <1> 값을 계속해서 변경하는 것이 가능하다.

     2) 상수 ( constant )
          <1> 한번 정해진 값을 바꿀 수 없다.
          <2> 상수의 값을 바꾸려고 했을 때 컴파일타임에서는 오류가 없지만, 실행시켰을 때 상수를 바꾸는 

                 코드를 만나게되면 레퍼런스 에러가 발생하며 어플리케이션이 종료된다.
          <3> 그러나 상수 객체의 경우에는 객체안에 값을 변경하는 것이 가능하다.
                 왜냐하면 상수의 범위는 {} 객체 바깥쪽 즉, 객체 자체를 다른 값으로 바꾸지말라는 의미이다. 
                 그 안에 속성에 대해서는 관여하지 않는다.

     3) 변수와 상수의 차이점
          <1> 변수는 초기값을 변경할 수 있고, 상수는 초기값을 변경할 수 없다.

     4) 프로그래밍을 할때 상수를 많이 써야 할까? 변수를 많이 써야 할까?
          <1> 자바스크립트의 과거 버전에서는 변수만 지원하고 상수는 지원하지 않았다.
          <2> 과거에는 let 과 const 대신에 var 라고하는 변수 명령어 하나만 존재했는데, 이 var 라고 하는 

                 명령어에 많은 문제점들이 있어서 let 과 const 라는 새로운 명령어가 추가되었다.
          <3> 변수 보다는 상수를 많이쓰는 것이 좋다. 그 이유는
               1> 프로그래밍을 하다보면 값 자체를 변화시키는 경우는 그렇게 많지않다.
               2> 값 자체가 변화해야 한다는 것은 많은 불안정성을 내포하고 있다.
               3> 개발자가 실수로 값을 바꿔서는 안되는 속성의 값을 바꿔버리는 실수도 막을 수 있다.
               4> 그래서 변하지 않는 값을 갖는 구조로 프로그래밍을 하는 습관들, 

                    혹은 그런 테크닉을 연마하는 것이 좋다.
               5> 의미없이 let 을 남발하는 습관은 좋지못한 습관이다. ( 값이 변할때만 let을 사용하자. )