favicon

Jayden { do: smite }

220824(수)

🪴 성장일지

행복한 이기주의자(웨인 다이어)의 내용에 자극받아 시작하는 소박한 성장기록

살아있는 꽃과 죽은 꽃은 어떻게 구별하는가?<br/> 성장하고 있는 것이 살아 있는 것이다.<br/> 생명의 유일한 증거는 성장이다!

🌳 키워드 최대한 간단하게 정리, 추후에 보면서 스스로 설명

JavaScript ECMAScript

ECMAScript는 자바스크립트의 표준 사양인 ECMA-262를 말한다. ECMA-262에서는 프로그래밍 언어의 값, 타입, 객체와 프로퍼티, 함수, 등의 핵심 문법을 규정<br/>

각 브라우저 제조사는 ECMAScript 사양을 준수하면서 브라우저에 내장되는 자바스크립트 엔진을 구현

자바스크립트는 크게 베이스가 되는 ECMAScript와 실행 환경에 따른 클라이언트 사이드 WEB API를 아우른다.<br/>

자바스크립트가 단일 쓰레드이지만 어떻게 비동기 처리가 가능한지가 이와 관련있다. 추후 이벤트 루프와 테스크 큐와 함께 자세히 다뤄볼 예정

JavaScript 특징

자바스크립트는 HTML, CSS와 함께 웹을 구성하는 요소 중 하나로서 웹 브라우저에서 동작하는 유일한 프로그래밍 언어<br/> 또한, 개발자가 별도의 컴파일 작업을 수행하지 않는 인터프리터 언어로 대부분의 모던 자바스크립트 엔진(크롬의 V8, 파이어폭스의 SpiderMonkey 등)은 인터프리터 방식에 컴파일러의 장점을 결합해 처리 속도가 느린 인터프리터의 단점을 해결함

  • 컴파일러 언어

    • 코드가 실행되기 전 컴파일 시, 소스코드 전체를 머신코드로 변환 후 실행
    • 실행 파일을 생성
    • 컴파일을 한번만 하면 이후 실행을 반복함에 있어 속도가 빠르다.
  • 인터프리터 언어

    • 코드가 실행되는 런타임 때, 한 줄씩 바이트코드로 변환 후 실행
    • 실행 파일을 생성하지 않음
    • 인터프리트 자체가 곧 실행을 하며 이뤄지므로 실행 때마다 인터프리트 단계를 반복, 따라서 실행 속도가 비교적 느림

대부분의 모던 브라우저가 사용하는 인터프리터는 아주 전통적인 컴파일 방식은 아니지만, 나름의 복잡한 과정을 거치며 일부 소스코드를 컴파일하고 실행<br/> 단, 자바스크립트는 런타임에 컴파일되고 따로 실행 파일이 생성되지 않는 점, 인터프리터 없이 실행될 수 없기 때문에 컴파일러 언어라고 할 수 없다.

이와 관련된 사항은 자바스크립트의 실행 컨텍스트를 찾아보면 좋다.

자바스크립트는 명령형, 함수형, 프로토타입 기반의 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어

undefined

Copyright 2023. all rights reserved by Jayden