컴파일러 언어
fn main(){
println("Hello world")
}
# 기계어로 변환 후 출력
인터프리터 언어 (기계어로 변환 x)
console.log('Hello world');
// 바로 출력
=> 컴파일 단계가 없음
=> 컴파일러에 비해 실행 속도가 느림
동적 타입 언어
함수는 일급 객체
프로토타입 기반 상속
프로그래밍 패러다임 지원
코드를 작성도구메모리 사용메모리의 주소값 사용변수 : 메모리 주소값을 쉽게 식별하기 위해 붙인 이름
자바스크립트 엔진은 코드 평가 -> 코드 실행(실행 컨텍스트)으로 이루어짐
코드 평가 : 선언 + 초기화
코드 실행 : 할당
함수 스코프
호이스팅 : 선언문이 스코프의 선두로 옮겨진 것처럼 동작하는 특성!!
즉 var은 선언과 초기화가 동시에 이루어지기 때문에 호이스팅 발생!!
// 호이스팅
// 오류는 나지 않고 실행됨
console.log(a); //undefined
var a = 1;
코드 평가 : 선언
코드 실행 : 초기화 + 할당
블록 스코프
특정 동작을 수행하는 처리기