1134 words
6 minutes
자바스크립트 언어에 대해 설명해주세요.
2025-04-24

면접 질문 복기합니다.

자바스크립트란 무엇인가?#

  • 웹 브라우저에서 동작하는 대표적인 스크립트 언어.
  • 웹 페이지에 동적인 기능을 추가할 수 있도록 도와주는 언어.
  • HTML, CSS와 함께 웹 개발의 3대 요소 중 하나.
    자바스크립트(JavaScript)는 🧠 웹 브라우저에서 동작하는 대표적인 스크립트 언어입니다. HTML, CSS와 함께 프론트엔드 개발의 3대 축을 이루며, 사용자와의 상호작용을 가능하게 하는 핵심 기술이에요. 🖱️ 버튼 클릭, 📝 입력 폼 처리, 🎨 동적 스타일 변경 등 웹의 동적인 요소는 대부분 자바스크립트로 구현됩니다.
    .
  • 브라우저에서 동적인 요소를 자바스크립트로 처리.
    웹 브라우저에는 보통 크롬의 V8처럼 🚀 자바스크립트 엔진이 내장되어 있어 자바스크립트 코드를 해석하고 실행합니다. 그래서 브라우저에서 자바스크립트를 자연스럽게 사용할 수 있는 거죠.

자바스크립트는 브라우저에서만 사용 가능한가요?#

  • Node.js는 ✔️ 자바스크립트를 브라우저 밖에서도 실행할 수 있게 해주는 런타임 환경입니다.
    하지만 자바스크립트는 브라우저 전용 언어가 아닙니다. Node.js라는 런타임 환경 덕분에 🖥️ 서버 사이드에서도 사용할 수 있어요. Node.js는 V8 엔진 위에 비동기 I/O를 위한 기능들을 얹은 플랫폼으로, 자바스크립트를 이용해 서버를 만들고 데이터베이스와 연동하는 등 백엔드 작업도 가능합니다.
  • 자바스크립트 개발환경

왜 자바스크립트를 써야 하나요?#

  • 생태계 풍부, 커뮤니티 활성화
  • 백엔드, 프론트엔드 모두 사용 가능
    그렇다면 왜 자바스크립트를 써야 할까요?
    우선 생태계가 매우 풍부해요. 프레임워크(React, Vue, Next.js)와 수많은 라이브러리들이 존재하고, 프론트와 백엔드 모두에서 사용할 수 있다는 점에서 생산성과 일관성이 높습니다. 커뮤니티도 활발해서 자료나 에러 해결도 쉽고요. 🔧

⚙️ 자바스크립트의 주요 특징 정리#

  • 🔄 싱글 스레드: 한 번에 하나의 작업만 처리합니다.
  • 🌀 비동기 처리와 이벤트 루프: 비동기 작업은 큐에 넣고, 나중에 순차적으로 처리하는 구조를 통해 병목을 피할 수 있어요. setTimeout, fetch 등이 대표적이죠.
  • 클로저(Closure): 함수가 선언될 당시의 스코프를 기억해서, 외부 변수에 계속 접근할 수 있어요. 캡슐화에 자주 쓰입니다.
  • 📦 동적 타입 언어: 변수에 어떤 타입이든 담을 수 있어서 유연하지만, 타입 오류도 잦을 수 있어요.
  • 🔍 호이스팅(Hoisting): varfunction 선언은 코드의 맨 위로 끌어올려지는 것처럼 작동합니다.
  • 🧾 인터프리터 언어: 자바처럼 컴파일하지 않고, 한 줄씩 바로 실행됩니다.

  1. 자바스크립트는 웹 브라우저에서 동작하는 싱글 스레드 기반의 스크립트 언어이며, 이벤트 루프를 활용해 비동기 처리를 효율적으로 수행합니다.
  2. Node.js 환경에서는 자바스크립트를 서버에서도 사용할 수 있으며, 프론트-백엔드 일관성 덕분에 생산성이 높습니다.
  3. 풍부한 생태계와 다양한 프레임워크, 쉬운 러닝커브 덕분에 웹 개발에서 가장 널리 사용되는 언어 중 하나입니다.

❓ 싱글스레드인데 어떻게 비동기 처리가 가능한가?#

자바스크립트는 기본적으로 싱글 스레드 기반이지만, 브라우저(Web API)나 Node.js의 백그라운드에서 비동기 작업을 처리할 수 있도록 이벤트 루프(Event Loop) 구조를 활용해요.#

자바스크립트 언어에 대해 설명해주세요.
softourr.github.io/자바스크립트-언어에-대해-설명해주세요.md
Author
softourr
Published at
2025-04-24