반응형
소개
오늘은 자바스크립트, 자바스크립트 특징 에 대해 알아보도록 하겠습니다.
목차
- 자바스크립트란
- 자바스크립트 특징
1) 자바스크립트란
동적인 웹페이지를 만들기 위한 프로그래밍 언어입니다. 웹페이지를 조작하고, 클라이언트-서버 간 상호작용에 관한 일을 관여합니다. 메인 쓰레드인 이벤트 루프가 싱글 쓰레드이기 때문에 자바스크립트를 싱글 쓰레드 언어라고 합니다.
참고 ) 자바스크립트 자체는 싱글 쓰레드가 맞지만 이벤트 루프만 독립적으로 실행되지 않고 웹 브라우저나 NodeJS 같은 멀티 쓰레드 환경에서 실행됩니다. 즉, 자바스크립트 자체는 싱글 쓰레드가 맞지만 자바스크립트 런타임은 싱글쓰레드가 아닙니다.
참고 ) 자바스크립트가 싱글 쓰레드인 이유?
만약 자바스립트가 멀티 쓰레드로 실행되는 언어라면 웹페이지에서 발생하는 동시성 문제에 대해 해결해야 합니다. 하지만 자바스크립트는 다일 쓰레드로 실행되므로 교착 상태와 같은 다중 쓰레드 환경에서 발생할 수 있는 복잡한 시나리오를 신경 쓸 필요가 없으며 비동기 처리를 통해 쉽게 요청을 처리할 수 있습니다.
참고 ) 싱글 쓰레드의 장단점?
- 코드가 단순하며 디버깅이 쉽습니다. (장점)
- 경쟁상태, 교착상태 등 동시성 문제가 발생하지 않습니다. (장점)
- 작업이 한 곳에서 블로킹되면 전체 프로그램의 응답성이 저하될 수 있습니다. (단점)
- 동시에 처리할 수 없어 작업 처리 효율이 떨어집니다. (단점)
2) 자바스크립트의 특징
- 자바스크립트는 객체 기반의 스크립터 언어입니다.
- 자바스크립트는 동적이며, 타입을 명시할 필요가 없는 인터프리터 언어입니다.
- 자바스크립트는 객체 지향형 프로그래밍과 함수형 프로그래밍을 모두 표현할 수 있습니다.
- 자바스크립트는 싱글 쓰레드 언어입니다.
3) 자바스크립트 장점
- 코드가 한 줄 한 줄 실행되는 인터프리터 언어이기 때문에 디버깅이 쉽습니다.
- 타입을 명시할 필요가 없어 코드작성이 쉽습니다.
- 커뮤니티가 많습니다.
- 다양한 프론트엔드 프레임워크가 존재합니다.
4) 자바스크립트 단점
- 타입 예측이 어렵습니다.
- 생태계의 변화가 빠릅니다.
- 자바스크립트의 비동기 특성은 종종 “콜백 지옥”으로 알려진 패턴을 야기할 수 있습니다.
참고자료
반응형
'Front-end (프론트엔드) > JavaScript (자바스크립트)' 카테고리의 다른 글
[프론트엔드] 자바스크립트와 비동기처리 (0) | 2024.01.28 |
---|