2021. 12. 27. 22:09ㆍ개발 관련/JavaScript
자바스크립트 무료강의를 본 지 2일차 개념을 정리해 보려 한다.
자바스크립트 변수 선언 방식에는 Var, Const, let 3가지가 있다. 데이터 타입도 아닌데 왜 3가지가 있는 건지 역사를 조금 보면 이해가 쉽다.

JavaScript는 별도로 설치할 필요가 없다!
자바스크립트의 설계자는 'Brendan Eich(브렌던 아이크)'라는 사람으로 약 10일 만에 언어를 개발했다. HTML 과 CSS 만으로는 동적인 웹페이지를 만들기 힘들던 당시 문제를 해결해주는 Adobe Flash, Active X 를 이용하는 웹 사이트가 있었다. 그러나 사용자들은 해당 프로그램을 사용하는 웹 사이트를 방문하기위해 자신의 컴퓨터에 별도로 프로그램을 설치해야하는 불편한 상황이 있었다. (나 또한 경험) 이런 상황을 해결하기위해 사용자의 개별 프로그램 설치없이도 브라우저내에 내장되어 자동으로 동작할 무엇인가 필요했고 HTML5와 브렌던 아이크의 JavaScript언어 개발로 웹 표준 형식을 정했다. 공통된 형식을 사용함으로서 웹세계의 혼란을 없애고 JavaScript로 인해 별도 프로그램 설치없이도 어느 브라우저, 웹 사이트에서도 정상적인 웹 동작이 가능해졌다.
JavaScript 대체 불가의 언어
약 10일 만에 만든 이 언어를 통일하여 쓰기로 약속된 이후 대체할 언어를 만들지 않는다. 그렇게 JavaScript는 대체 불가의 언어가 되는데 단점이 생긴다. 업그레이드를 할 수 없다. 일종의 패치만 가능! 왜냐? 이미 기존의 자바스크립트 코드로 작성된 수 많은 웹 페이지들은 버전을 업데이트할 시 동작하지 않는 오류들이 생길 수 있기 때문이다. 10일 만에 만든 JavaScript는 고쳐야 할 점이 분명 많다. 더 나은 웹 생태계를 위해 JavaScript는 어떻게 했을까?
문제점을 인지하기 위한 변수 선언 방식 const, let
var는 구 변수 선언 방식이고 const와 let은 일종의 패치로 새롭게 등장한 신 선언 방식이다. var는 변수의 값을 업데이트가 가능한 선언 방식이다. 따라서 개발자가 실수로 업데이트를 하지 말아야하는 변수의 값을 건들일 시 문제점을 알아내기 힘들다. 그래서 만든게 const와 let이다. const는 constant(상수)로 값을 업데이트 할 수 없는 변수 선언 방식이다. 굳이 업데이트가 필요하지 않은 변수의 경우 const로 선언을 하고 업데이트가 필요한 변수의 경우만 let으로 선언한다. 이렇게 되면 우선 코드를 읽어나갈 때 어떻게 이 변수가 쓰일지 짐작을 할 수 있고 개발자가 실수로 const의 값을 업데이트 할 시 경고를 통해 문제를 인지할 수 있다. 이런 이유를 통해 const와 let을 만들었는데 이미 var를 사용중인 웹사이트들이 존재하기 때문에 var를 없애지 못하고 일종의 패치를 통해 새로운 변수 선언 방식을 도입함으로서 3가지의 변수 선언 방식이 존재하고 있다.
그러나 코드의 흐름과 불필요한 값의 업데이트 방지를 위해
"var 금지, 항상 const, 필요시 let"을 새기고 코드 작성을 권장한다고 한다.
'개발 관련 > JavaScript' 카테고리의 다른 글
| [JS] 마우스 우클릭 방지 (0) | 2022.01.30 |
|---|---|
| [JS] canvas 메서드 : moveTo(offsetX, offsetY) 와 lineTo(offsetX, offsetY)의 차이 (0) | 2022.01.30 |
| [JS] '.forEeach' 와 '화살표함수(=>)' (0) | 2022.01.29 |
| JS : 이벤트 리스너(EventListener)란? (0) | 2022.01.25 |