본문 바로가기
JavaScript

JS - 사전 기반 지식

by 남행비 2023. 10. 4.

 

기본 개념

자바스크립트(JavaScript)는 웹 브라우저에서 동작하는 스크립트 언어 중 하나입니다. HTML, CSS와 함께 웹 프로그래밍을 할 수 있도록 고안되었으며, 다양한 용도로 사용됩니다.

자바스크립트는 기본적으로 클라이언트 측에서 실행되는 스크립트 언어로, 웹 페이지를 동적으로 만들고, 사용자와 상호 작용하는 기능을 구현할 수 있습니다.

예를 들어, HTML 요소의 속성 값을 변경하거나, 이벤트 핸들러를 등록 하여 사용자의 동작에 따라 새로운 기능을 수행하도록 할 수 있습니다.

또한, AJAX를 이용하여 서버와 비동기적으로 데이터를 주고받는 기능을 구현할 수도 있습니다.

자바스크립트는 브라우저를 제어하는 데 주로 사용되지만, Node.js와 같은 서버 측 프레임워크를 이용하여 서버 측에서도 사용될 수 있습니다.

이러한 이유로, 자바스크립트는 현재 가장 널리 사용되는 언어 중 하나이며, 다양한 분야에서 사용되고 있습니다.

 

컴파일러 vs 인터프리터

인터프리터 언어는 실행 시간에 소스 코드를 해석하여 실행하는 언어로, 코드를 컴파일하지 않고 바로 실행합니다.
JavaScript 엔진은 소스 코드를 바로 실행할 수 있는 중간 코드로 변환하는 Just-In-Time 컴파일러를 사용하여 코드를 해석하고 실행합니다.

그러나 최근 JavaScript 엔진은 기계어 코드를 생성하는 옵티마이저를 갖추고 있어, 컴파일러 언어와 유사한 성능을 낼 수 있습니다. 이러한 이유로 일부 전문가들은 JavaScript를 컴파일 언어로 분류하기도 합니다.

결론적으로, JavaScript는 일반적으로 인터프리터 언어로 분류되지만, 최근의 개발 동향으로 봤을 때 컴파일러 언어와의 경계가 점점 흐려지고 있습니다.

 

컴파일 언어에 동작 흐름

Java 언어에서 컴파일러의 정식 명칭은 "Java 컴파일러 (Java Compiler)"입니다.

Java 컴파일러는 Java 소스 코드를 컴파일하여 바이트 코드(Bytecode)를 생성합니다. 이 바이트 코드는 Java 가상 머신(Java Virtual Machine, JVM)에서 실행됩니다.

Java 컴파일러는 JDK(Java Development Kit)의 일부로 제공되며, javac라는 명령어를 사용하여 컴파일할 수 있습니다.
javac 명령어는 Java 소스 코드 파일을 컴파일하여 클래스 파일을 생성합니다. 이후에는 java 명령어를 사용하여 생성된 클래스 파일을 실행할 수 있습니다.


 

인터프리터 언어의 동작 흐름

인터프리터 언어의 경우, 코드를 실행하기 위해 컴파일 단계가 없습니다. 대신, 소스 코드가 런타임에 직접 해석되고 실행됩니다.
  1. 소스 코드 해석: 인터프리터 언어의 실행환경은 소스 코드를 한 줄씩 읽고 해석합니다. 이것은 컴파일 단계 없이 직접 이루어집니다.
  2. 실행: 코드가 해석되면 즉시 실행됩니다. 각각의 코드 라인은 실행환경에서 해석되고 해당 작업이 수행됩니다.
  3. 실행 결과: 코드가 실행되면서 결과가 바로 나타납니다. 이 결과는 종종 변수, 함수, 또는 다른 데이터 구조에 저장됩니다.
인터프리터 언어는 컴파일 언어와 달리 실행환경에서 소스 코드를 직접 해석하기 때문에 소스 코드 수정 및 실행이 빠르게 반영됩니다. 그러나 이로 인해 실행 시간에 일부 성능 저하가 발생할 수 있습니다.

 


요약

 

자바스크립트는 웹 개발에서 핵심적인 역할을 하는 스크립팅 언어입니다. 우리가 자바 스크립트를 배워야 하는 이유는 브라우저 호환성, 동적인 사용자 인터페이스, 비동기 처리, 프론트엔드 및 백엔드 개발, 다양한 라이브러리와 프레임워크, 크로스 플랫폼 개발 등에 활용 되지만 우리의 1차 목표는 웹 페이지에서 사용자와 상호 작용하는 똑똑한 웹 페이지를 구축하기 위해 사용해보도록 합니다.