자바스크립트 엔진은 코드를 파싱하고 해석하면서 리터럴과 토큰을 실제 메모리에 저장한다. 하지만 그 단위가 너무나 작기 때문에 메모리 사용량을 크게 증가시키지 않아 영향을 주지 않는다. 자바스크립트 엔진은 이처럼 메모리 사용량을 최적화 하고 성능을 향상시키기 위해서 작은 값들을 효율적으로 관리한다.
undefined라는 값이 출력된다. undefined는 실제로 문이 값을 반환하지 않는 경우의 기본적인 반환 값이기 때문이다.
자바스크립트는 "지연 평가"라는 것을 지원함으로써 값이 정말로 필요로 할 때 비로소 평가가 이루어지며 이를 통해 코드를 최적화 하고 성능을 향상시킨다. 아래는 실제 코드 평가가 이루어지는 상황이다.
즉시실행함수는 기존에 재사용성이 가능한 함수의 목적에서 벗어난다. 즉시실행함수는 한 번 실행되면 그 내부에 선언된 변수와 함수가 외부에서 접근할 수 없는 스코프 내에 존재하므로, 해당 함수를 다시 호출하거나 재사용하는 것은 불가능하다. 그럼에도 쓰는 이유는 기존에 전역 스코프를 오염시키지 않고 임시적인 스코프를 생성하여 변수들을 격리시키는 데 유용하게 사용하기 위함이다.
회사 컨벤션, 세미콜론(;)을 사용해야 하는지 아니면 생략해도 되는지에 대한 여부는 회사나 프로젝트의 코딩 컨벤션에 따라 결정된다.