본문 바로가기
Front-end (프론트엔드)/JavaScript (자바스크립트)

[프론트엔드] 자바스크립트 / 자바스크립트 특징

by dreamer10457 2024. 2. 12.
반응형

소개

오늘은 자바스크립트, 자바스크립트 특징 에 대해 알아보도록 하겠습니다.


목차

- 자바스크립트란

- 자바스크립트 특징


1) 자바스크립트란 

동적인 웹페이지를 만들기 위한 프로그래밍 언어입니다. 웹페이지를 조작하고, 클라이언트-서버 간 상호작용에 관한 일을 관여합니다. 메인 쓰레드인 이벤트 루프가 싱글 쓰레드이기 때문에 자바스크립트를 싱글 쓰레드 언어라고 합니다.

 

참고 ) 자바스크립트 자체는 싱글 쓰레드가 맞지만 이벤트 루프만 독립적으로 실행되지 않고 웹 브라우저나 NodeJS 같은 멀티 쓰레드 환경에서 실행됩니다. 즉, 자바스크립트 자체는 싱글 쓰레드가 맞지만 자바스크립트 런타임은 싱글쓰레드가 아닙니다. 

 

참고 ) 자바스크립트가 싱글 쓰레드인 이유? 

만약 자바스립트가 멀티 쓰레드로 실행되는 언어라면 웹페이지에서 발생하는 동시성 문제에 대해 해결해야 합니다. 하지만 자바스크립트는 다일 쓰레드로 실행되므로 교착 상태와 같은 다중 쓰레드 환경에서 발생할 수 있는 복잡한 시나리오를 신경 쓸 필요가 없으며 비동기 처리를 통해 쉽게 요청을 처리할 수 있습니다.

 

참고 ) 싱글 쓰레드의 장단점? 

  • 코드가 단순하며 디버깅이 쉽습니다. (장점)
  • 경쟁상태, 교착상태 등 동시성 문제가 발생하지 않습니다. (장점)
  • 작업이 한 곳에서 블로킹되면 전체 프로그램의 응답성이 저하될 수 있습니다. (단점)
  • 동시에 처리할 수 없어 작업 처리 효율이 떨어집니다. (단점)

2) 자바스크립트의 특징

  1. 자바스크립트는 객체 기반의 스크립터 언어입니다.
  2. 자바스크립트는 동적이며, 타입을 명시할 필요가 없는 인터프리터 언어입니다.
  3. 자바스크립트는 객체 지향형 프로그래밍과 함수형 프로그래밍을 모두 표현할 수 있습니다.
  4. 자바스크립트는 싱글 쓰레드 언어입니다.

3) 자바스크립트 장점

  1. 코드가 한 줄 한 줄 실행되는 인터프리터 언어이기 때문에 디버깅이 쉽습니다.
  2. 타입을 명시할 필요가 없어 코드작성이 쉽습니다.
  3. 커뮤니티가 많습니다.
  4. 다양한 프론트엔드 프레임워크가 존재합니다.

4) 자바스크립트 단점

  1. 타입 예측이 어렵습니다.
  2. 생태계의 변화가 빠릅니다.
  3. 자바스크립트의 비동기 특성은 종종 “콜백 지옥”으로 알려진 패턴을 야기할 수 있습니다.

 


참고자료

 

반응형