<aside> 💡 주의 ! 초심자를 위한 설명이기에 오류가 있을 수 있습니다

</aside>

** ECMAScript **

갑자기 EcmaScript가 무엇이냐고요 ?? ECMA는 JS 표준 명세서라고 생각하시면 됩니다. 사실 JavaScript는 만들 당시 인기 언어 Java를 따라하여 만든 상업적 명칭입니다. ECMAScript는 해마다 ES6,ES7,ES8 등등 표준을 내고 있으면 가장 최근(2021-08-10) 기준 ES12 까지 있습니다. 그래서 저희는 ES6 부터 ES12까지 최신 자바스크립트 문법을 배울 것입니다 !

2.1. JS 변수 선언(동적 타입 언어와 정적 타입 언어에 관한 고찰)

JavaScript는 문법의 대부분을 Java와 C, C++로부터 차용하고 있으며, Awk, Perl, Python의 영향도 받았습니다. ( MDN이 그렇다고 하네요 ㅇㅇ) JS는 "동적 타입 언어" 입니다. 이 말이 무슨 말이냐면 변수의 타입을 동적으로 부여한다라는 것인데,, 당연히 이렇게 하면 이해가 안 되기에 여러분이 배운 C와 파이썬을 비교해보시면 됩니다. C언어는 변수를 선언할 때 아래 사진처럼 소스코드 상에 자료형을 지정해줍니다. 이러한 언어를 "정적 타입 언어"라고 합니다.

오랜만에  C를 보니 어질어질..

오랜만에 C를 보니 어질어질..

반대로 JS, Python은 동적 타입 언어입니다. Python은 아래처럼 써주면 실행할 때 알아서 자료형을 정해줍니다.

N = 1 #int
codebakery="갓동" #str

그러면 이제 JS의 변수 선언을 볼까요??

JS의 선언에는 3가지 방법이 있습니다

1.var, 변수를 선언하고 동시에 값을 초기화합니다.

  1. let ,scope 지역 변수를 선언하고 동시에 값을 초기화합니다.

3.const , scope 읽기 전용 변수를 선언합니다(절대 변하지 않아요!!)

var 이름 = "김정인" //JS는 대소문자를 구분하고 유니코드 문자셋을 이용합니다
let a = 1
const asdf = "불변"

아니 const 와 var,let의 차이는 알겠는데 도대체 var 과 let은 차이가 무엇이냐고요?? 사실 var은 ES6 이전 문법에서 자주 쓰이던 것입니다(var 밖에 없..) 그러나 ES6에서부터 const와 let이 scope와 함께 도입되었습니다. But, 이걸 다 설명하기 시작하면 너무 재미없고 투머치토커가 되기에 그냥 단순 명료하게 !!

  1. var ?? 절대 네버 쓰지 않는다 !
  2. let ?? 반복문 돌릴 때나 값이 바뀔때만 써라 ~~
  3. 그 외에 거의 다 const를 쓴다고 생각하면 편합니다.