한 사람이 작업해놓은 기존의 프로젝트를
팀이 커지고, 팀장님이 작업 파트 분배 후 최적화 작업을 진행하는 중에
기존의 작업물에서 모든 변수 선언이 var 로 되어있는 것을 개선하시겠다 하였다.
프로젝트에 전부 var로 선언되어 있던 이유가 뭐였을까?
기존의 프로젝트는 ES5 기준으로 작성되어, 변수 선언은 var로만 작업했는데, ES6 사용이 가능해지면서, let 과 const 가 추가 됐다.
1. ES (ECMAScript) 란?
▷ ECMAScript 는 Ecma 인터내셔널의 ECMA-262 기술 규격에 정의된 표준화된 스크립트 프로그래밍 언어
▷ 넷스케이프 커뮤니케이션즈로 부터 Javascript가 개발되고 나서 MS로 부터 JScript 개발되었고, 두 언어는 호환되지 않는 경우가 있어, 기능이 모든 브라우저에서 동일하게 동작하지 않는 '크로스 브라우징 이슈' 가 나타났는데, 이 크로스 브라우징 이슈를 해결하기 위해 Javascript를 표준화 한 것이 ECMAScript이다.
자바스크립트에서의 변수 선언 방법 종류
참고 어휘
** 스코프(scope) : 식별자(변수명, 함수명, 클래스명 등)의 유효범위, 지역변수는 지역 스코프를 가져 해당 지역과 하위 지역에서만 참조 가능
** 호이스팅(Hoisting) : 변수나 함수 선언을 코드의 최상단으로 끌어올리는 것처럼 동작하는 특성
** 임시 데드존(TDZ) : 변수가 선언되었지만, 아직 초기화되지 않은 상태
| 재할당 | 재선언 | 특징 | |
| var | O | O | 호이스팅 가능 |
| let | O | X | 호이스팅 가능! 단, 다르게 호이스팅 → 임시데드존(TDZ)을 거쳐 간다 |
| const | X | X |
300x250
'프로그래밍언어 > Javascript' 카테고리의 다른 글
| [JavaScript] 정규표현식(regular expression) - Email Validation Check (0) | 2024.02.15 |
|---|---|
| [JavaScript] 화살표 함수 문법 (0) | 2023.12.11 |