개발 무지렁이

[JavaScript] 자바스크립트(ECMAScript6)와 호이스팅 본문

Frontend/JavaScript

[JavaScript] 자바스크립트(ECMAScript6)와 호이스팅

Gaejirang-e 2023. 2. 19. 15:07

인터프리터 언어, JavaScript


웹페이지의 보조적 기능을 수행하기 위해
브라우저에서 동작하는 경량 프로그래밍 언어로 시작하여
브라우저의 '표준 프로그래밍 언어'로 자리잡았다.

⚠️ 되도록이면 뒤에쓴다 or onload를 사용하거나 ⚠️
  <script type="text/javascript">
    onload = function() { //window. 생략
      alert("문서가 모두 load 되었습니다");

    }      
  </script>  

📌. JavaScript의 최고조상 window

🌝 인터프리터 언어
-> 매번 런타임에 한줄씩 바이트코드로 변환후 실행 (코드 실행속도 느림)
-> 실행파일 생성x

🌚 컴파일러 언어
-> 컴파일 타임과 실행단계 분리 (코드 실행속도 빠름)
-> 실행파일 생성

크로스 브라우징 이슈와 표준화된 ECMAScript6


❗ 크로스 브라우징(Cross Browsing) 이슈
: 브라우저에 따라 웹페이지가 정상적으로 동작하지 않는 현상을 말한다.

모든 브라우저에서 정상적으로 동작하는 표준화된 자바스크립트, ECMAScript
ECMAScript6부터 범용프로그래밍 언어로서 필요한 기능 대거 도입

(1) let/const 키워드  (2) 화살표 함수  (3) 클래스  (4) 모듈 

객체들을 메모리에 올리는 호이스팅


'호이스팅'이란 문서가 로딩되기 전에 var, let, const 함수들을
미리 메모리에 올리는 과정을 말한다. (값할당은 나중에...)

  • var
  • let: block scope(블럭 단위 스콥)
  • const(상수): 고정값, 불변

⚠️ function안에서 var로 선언된 변수는 지역변수이다. (단, var를 생략하면 전역변수가 된다.)

Comments