1. JavaScript의 역사

  • 1995년 : JavaScript(브라우저 동작 스크립트 언어) 탄생
  • 1999년 : JavaScript 표준화(ECMA-262) 완료
  • 2005년 : AJAX 등장. 페이지 전체를 새로고침 할 필요 없이 특정 부분만 새로고침 할 수 있게 되었다. 이를 통해 비동기 웹 애플리케이션 개발이 가능해졌고, 폭발적인 UX(User Experience; 사용자 경험) 향상이 이루어졌다.
  • 2008년 : V8 엔진이 출시되어 Google Chrome에 탑재되었다. 코드 실행 속도가 상당부분 개선되어 브라우저의 속도가 엄청나게 빨라졌다.
  • 2009년 : Node.js 등장. JavaScript가 브라우저 뿐만 아니라 어느 환경에서도 사용이 가능하도록 바뀌었다. 이를 통해 JavaScript라는 하나의 언어로 FrontEnd와 BackEnd를 모두 아우를 수 있게 되었다.

  • 2015년 : ECMAScript6(ES6) 버전 출시

  • 2016년 : 프론트엔드 프레임워크(React, Vue, Angular) 대중화. SPA 개발 활성화

  • 현재 JavaScript는 FrontEnd 및 BackEnd 개발 분야에서 널리 사용되며, Node.js를 이용한 서버 개발도 활발하게 이루어지고 있다.

2. JavaScript의 특징

1> 객체 지향 프로그래밍 지원

JavaScript는 객체 지향 프로그래밍이 가능한 언어로, 객체를 생성하고 관리하는 데 강점이 있다.

👉 절차 지향 vs 객체 지향 ?

  • 절차 지향 프로그래밍 : 프로그램을 순차적인 절차(단계)의 집합으로 보고, 함수(프로시저)를 통해 코드를 실행하는 방식. C언어가 대표적이며, 컴퓨터의 처리 구조와 유사해 실행 속도가 빠르지만 대규모 프로그램에서는 유지보수가 어렵고 재사용성이 낮다는 단점이 있음. 데이터와 기능이 분리되어 있어 함수 호출 순서에 따라 동작하며, 단순한 프로그램 개발에 적합.
  • 객체 지향 프로그래밍 : 프로그램을 명령어 목록이 아닌, 독립적인 '객체(Object)'들의 상호작용으로 보는 프로그래밍 방식. 데이터와 그 데이터를 다루는 함수(메서드)를 하나로 묶은 '객체'를 중심으로 설계함. 추상화, 상속, 다형성, 캡슐화 등의 특징을 통해 코드의 재사용성, 유지보수성, 가독성을 높이고 대규모 프로젝트 관리를 용이하게 만들어 줌.

2> 동적 타이핑 지원

JavaScript는 동적 타이핑을 지원하는 언어로, 변수를 선언할 때 타입을 지정하지 않는다. 이는 런타임 시점(코드가 실행되는 동안에 발생하는 시점)에 변수에 할당되는 값에 따라 자동으로 데이터 타입이 결정된다는 것을 의미한다.

3> 함수형 프로그래밍 지원

JavaScript는 함수형 프로그래밍을 지원하는 언어로, 함수를 일급 객체로 취급하고, 고차 함수를 지원한다. 이를 통해 코드의 재사용성과 가독성을 높일 수 있다.

👉 일급 객체로서의 함수?
일급 객체(first-class object)로서의 함수란, 함수를 일반 값과 마찬가지로 변수에 할당하거나, 함수를 함수의 인자로 전달하거나, 함수를 함수의 반환값으로 사용할 수 있다는 것을 의미한다.

4> 비동기 처리 지원

JavaScript는 작업을 순차적으로 기다리지 않고, 병렬로 처리할 수 있도록 비동기 처리를 지원한다.

5> 클라이언트 측 및 서버 측 모두에서 사용 가능

JavaScript는 클라이언트 측에서만 사용되는 것이 아니라, Node,js를 이용하여 서버 측에서도 사용된다. 이를 통해 웹 개발 전반에 걸쳐 JavaScript를 활용할 수 있다.

profile
매일 성장하는 개발자

0개의 댓글