📝
JavaScript 언어의 특징과 역사
May 22, 2023
프로그래밍 언어란?
- 사람과 0,1만 이해하는 컴퓨터와 소통하기 위해 사용되는 것이 프로그래밍 언어입니다.
- 대표적인 프로그래밍 언어로는
Java, JavaScript, C, Python등이 있습니다.
JS의 역사
-
1995년
자바스크립트가 탄생했습니다. -
LiveScript으로 사용 되고 있다가 당시Java의 인기로 인해 사람들이 많이 사용하자 이름을 지금의JavaScript로 변경했습니다. -
브라우저 동작 스크립트 언어로 동적인 액션을 만들 수 있고, 제어하기 위해 사용되고 있습니다.
-
2005년
Ajax등장으로 기존에는 데이터를 수정하면 반드시 전체 페이지 새로고침을 통해 확인을 해야했지만, 수정된 부분이 새로고침 되어 반영된 것을 확인할 수 있다. -
폭발적인 UX(User Experience - 사용자 경험) 향상
-
2008년 구글에서 V8 엔진 출시했습니다.
-
2009년
Node.js등장으로 서버 개발이 활성화FrontEnd + BackEnd + DB(MongoDB) = FullStack이 가능해졌다.
JS 언어의 특징
1. 객체 지향 프로그래밍 지원
-
객체지향 vs 절차지향
▶︎ 절차지향 프로그래밍 : 첫 번째 일을 처리한 다음에 두 번째 일을 처리
▶︎ 객체지향 프로그래밍 : 객체라는 그룹으로 묶어 처리
2. 동적 타이핑
✔️ 동적 타이핑을 지원하는 언어로 변수를 선언할 때 타입을 지정하지 않고, 런타임 시점s에 변수에 할당되는 값에 따라 자동으로 데이터 타입이 결정된다는 것을 의미한다.
- 런타임(Runtime) :
런타임 시점이란, 프로그램이 실행되는 동안의 시점을 의미합니다. 즉, 코드가 실행되는 동안에 발생하는 시점을 말합니다. 반대의 의미로는컴파일 시점이 있습니다.
3. 함수형 프로그래밍 지원
-
일급객체 :
함수를 일반 값과 마찬가지로변수에 할당하거나, 함수의 인자로 전달하거나, 함수의 반환값으로 사용할 수 있는 객체를 의미합니다.// 함수를 변수에 할당 const add = function (a, b) { return a + b; }; // 함수를 인자로 받는 함수 function calculate(func, a, b) { return func(a, b); } // 함수를 반환하는 함수 function getAddFunction() { return add; } // 함수를 일급 객체로 다루어 코드의 재사용성을 높임 console.log(calculate(add, 2, 3)); // 5 console.log(getAddFunction()(2, 3)); // 5
4. 비동기 처리
✔️ 작업을 순차적으로 기다리지 않고, 병렬로 처리할 수 있도록 하는 방식이다.
5. 클라이언트 측 및 서버 측 모두에서 사용가능
✔️ 자바스크립트는 클라이언트 측에서만 사용하는 것이 아니라, Node.js를 이용하여 서버 측에서도 사용이 가능하다. 이를 통해 웹 개발 전반에 걸쳐 자바스크립트를 활용할 수 있다.