Frontend/JavaScript
[JavaScript] 자바스크립트(ECMAScript6)와 호이스팅
Gaejirang-e
2023. 2. 19. 15:07
인터프리터 언어, JavaScript
브라우저에서 동작하는 경량 프로그래밍 언어로 시작하여
브라우저의 '표준 프로그래밍 언어'로 자리잡았다.
<script type="text/javascript">
onload = function() { //window. 생략
alert("문서가 모두 load 되었습니다");
}
</script>
📌. JavaScript의 최고조상 window
🌝 인터프리터 언어
-> 매번 런타임에 한줄씩 바이트코드로 변환후 실행 (코드 실행속도 느림)
-> 실행파일 생성x
-> 매번 런타임에 한줄씩 바이트코드로 변환후 실행 (코드 실행속도 느림)
-> 실행파일 생성x
🌚 컴파일러 언어
-> 컴파일 타임과 실행단계 분리 (코드 실행속도 빠름)
-> 실행파일 생성
-> 컴파일 타임과 실행단계 분리 (코드 실행속도 빠름)
-> 실행파일 생성
크로스 브라우징 이슈와 표준화된 ECMAScript6
: 브라우저에 따라 웹페이지가 정상적으로 동작하지 않는 현상을 말한다.
ECMAScript6부터 범용프로그래밍 언어로서 필요한 기능 대거 도입
객체들을 메모리에 올리는 호이스팅
미리 메모리에 올리는 과정을 말한다. (값할당은 나중에...)
- var
- let: block scope(블럭 단위 스콥)
- const(상수): 고정값, 불변
⚠️ function안에서 var로 선언된 변수는 지역변수이다. (단, var를 생략하면 전역변수가 된다.)