1. 자바스크립트 소개
JS언어의 역사
- 1995년 LiveScript라는 이름으로 처음 등장.
당시 Java 언어의 인기가 폭발적이었기에, 이름을 JavaScript로 변경. 즉, Java와는 전혀 관련이 없는 언어.
- 2005년 AJAX 등장
- 비동기 웹 애플리케이션 개발 가능
- 2008년 google V8 엔진 출시
- 2009년 Node.js 등장, 서버 개발 활성화
- JavaScrip 하나의 언어 -> FrontEnd + BackEnd + DB = FullStack 개발 가능.
- 2015년 ECMAScript 6(ES6) 버전 출시
- 2016년 프론트엔드 프레임워크 대중화, SPA 개발 활성화
JS언어의 특징
- 객체 지향 프로그래밍 지원
객체지향 VS 절차지향
- 절자지향 : 첫 번째 일을 처리한 다음에 두 번째 일을 처리.
- 객체지향 : 객체라는 그룹으로 묶어 처리. 객체는 상태와 동작을 가지고 있으며, 상태는 객체의 속성(property)이라고도 한다.
- 동적 타이핑 언어
JS는 동적 타이핑을 지원하는 언어로서, 변수를 선언할 때 타입을 지정하지 않는다. 이것은 런타임 시점에 변수에 할당되는 값에 따라 자동으로 데이터 타입이 결정된다는 것을 의미한다.
런타임?
런타임 시점이란, 프로그래밍이 실행되는 동안의 시점을 의미한다. 반대의 의미로는 컴파일 시점이 있다.
- 함수형 프로그래밍 지원
일급객체란?
일급 객체(First-Class Object)란, 함수를 일반 값과 마찬가지로 변수에 할당하거나, 함수의 인자로 전달하거나, 함수의 반환값으로 사용할 수 있는 객체를 의미한다.
고차함수란?
고차 함수(Higher-Order Function)란, 함수를 인자로 받거나, 함수를 반환하는 함수를 의미한다.
- 비동기 처리
비동기 처리는 작업을 순차적으로 기다리지 않고, 병렬로 처리할 수 있도록 하는 방식이다.
- 클라이언트 측 및 서버 측 모두에서 사용 가능