[JavaScript] 자바스크립트(JavaScript)란? 자바스크립트의 특징, 장단점

자바스크립트(JavaScript)란?

자바스크립트는 웹 페이지에서 다양하고 복잡한 기능을 구현할 수 있는 프로그래밍 언어이다.

자바스크립트를 이용하면 웹 페이지에 정적인 정보를 표시하는 것을 넘어 동적인 컨텐츠를 표시할 수 있다.

 

보통 HTML, CSS와 자바스크립트를 함께 사용하며 동적 웹페이지를 프로그래밍하게 된다.

 

자바와 자바스크립트 차이
[그림 1] 자바와 자바스크립트 차이

 

이름에 Java가 들어가지만 Java와는 매우 다른 프로그래밍 언어이다.

코끼리와 바다코끼리가 아예 다른것처럼 Java와 JavaScript는 아예 상관이 없는 언어이다.

 

자바스크립트로 작성한 프로그램을 스크립트(Script)라고 부르는데, 이는 웹페이지를 불러올 때 자동으로 실행된다.

 

또한 자바스크립트는 애초에 웹 브라우저에서 사용할 목적으로 고안되었지만, 웹페이지 프로그래밍에만 사용할 수 있는 것이 아니라 서버, 게임, 모바일 어플리케이션 등 다양한 분야에서 사용할 수 있다.

 

 

 

자바스크립트 특징

1. 인터프리터 언어

자바스크립트는 인터프리터(Interpreter) 언어이다. 인터프리터 언어는 high-level 프로그래밍 언어로 작성된 원시 코드 명령어들을 한 번에 한 줄씩 읽어 들여서 실행한다.

 

웹 브라우저는 자바스크립트 코드를 원문 텍스트 형식으로 받아 실행한다.

대부분의 웹 브라우저에는 JIT(Just-In-Time) 컴파일러가 내장되어 컴파일을 진행하지만, 미리 처리되는 것이 아니라 런타임에 처리되기 때문에 자바스크립트는 인터프리터 언어로 취급된다.

 

2. 동적 타입 언어

자바스크립트는 변수 타입을 런타임에 결정하는 동적 타입 언어이다.

 

예를 들어 C언어에서는 정수형 변수를 선언한다면,

 

int n = 10;

 

위와 같이 선언한다.

 

반면 자바스크립트에서는 

 

var n = 10;

 

위와 같이 따로 타입을 지정하지 않고 var, let, const 등으로만 선언한다.

이를 통해 빠르게 코드를 작성할 수 있도록 도와준다.

 

3. 클라이언트 스크립트 언어

자바스크립트는 물론 서버 사이드에서도 사용할 수 있지만 주로 웹 브라우저와 같은 클라이언트 사이드에서 많이 사용된다.

 

클라이언트 스크립트를 작성 가능하기 때문에 웹 페이지와 동적인 상호 작용이 가능하다.

 

예를 들어 버튼 클릭, 키보드 입력, 마우스 오버 등의 웹 페이지 이벤트 기반으로 동작을 지정할 수 있다.

 

또한 HTML 요소를 생성/수정/삭제 함으로써 웹 페이지를 동적으로 업데이트 할 수 있다.

 

 

 

자바스크립트 장점

  • 배우기가 쉬운 편이다. 
  • 동적 타입 언어로 빠른 프로토타입 작성이 가능하다.
  • 풍부한 라이브러리를 지원한다.
  • 다양한 오픈 소스를 제공해 라이선스 비용이 거의 들지 않는다.
  • HTML/CSS와 완전히 통합 가능하다.
  • 모든 주요 브라우저(크롬, 엣지, 파이어폭스 등)에서 지원하고 기본 언어로 사용된다.

 

 

자바스크립트 단점

 

자바스크립트 밈
[그림 2] 자바스크립트 밈

 

  • 동적 타입 언어이기 때문에 타입 오류를 발견하기 어려워 디버깅이 어려울 수 있다.
  • 자바스크립트 코드는 브라우저에 노출되기 때문에 보안 취약점이 노출될 수 있다.
  • 비동기 코드의 중첩 콜백 구조로 인한 콜백 지옥이 발생할 수 있다.
  • 코드에 에러가 하나라도 있으면 렌더링이 멈춰버린다.

 


참고

 

[1] https://developer.mozilla.org/ko/docs/Learn/JavaScript/First_steps/What_is_JavaScript

[2] https://ko.javascript.info/intro

 

반응형

댓글

Designed by JB FACTORY