- 자바스크립트(Javascript)는 객체(Object) 기반의 스크립트 언어이다.
- 퍼즐 조각처럼 코드형태로 HTML페이지에 내장된다.
- HTML로는 웹의 내용을 작성하고, CSS로는 웹을 디자인하며, 자바스크립트로는 웹의 동작을 구현
- 컴파일 과정 없이 브라우저 내부의 자바스크립트 처리기(인터프리터)로 처리
컴파일 VS 인터 프리터
- 인터프리터 언어
- 원시코드(프로그래머가 작성한 소스코드)를 기계어로 변환하는 과정없이 한줄 한줄 해석하여 바로 명령어를 실행하는 언어
- 기계어로 변환하지 않기 때문에 빌드 시간이 없다. Runtime 상황에서는 한 줄씩 실시간으로 읽어서 실행하기 때문에 컴파일 언어에 비해 속도가 느리다.
- 컴파일 언어
- 원시코드를 모두 기계어로 변환한 후에 기계(JVM 같은 가상 머신)에 넣고 기계어 코드를 실행한다. 소스코드를 기계어로 번역하는 빌드 과정에는 인터프리터 언어에 비해 시간이 소요.
빌드 과정
빌드는 소스파일(소스코드 파일)을 실행파일로 생성하는 과정
고급언어--->(변환)--->저급언어(기계어)과정을 거쳐서 실행파일로 생성- 런타임 상황에서는 이미 기계어로 소스코드가 변환되어 있기 때문에 빠르게 실행 가능
- 자바스크립트는 객체 기반의 스크립트 언어이다.
- 자바스크립트는 동적이며, 타입을 명시할 필요가 없는 인터프리터 언어이다.
- 자바스크립트는 객체 지향형 프로그래밍과 함수형 프로그래밍을 모두 표현할 수 있다.
- 웹 페이지는 3가지(HTML, CSS, JS)코드가 결합되어 작성된다.
자바스크립트는 사용자의 입력을 처리하거나 웹 애플리케이션을 작성하는 등 웹 페이지의 동적 제어에 사용된다.
- 사용자의 입력 및 계산
HTML폼은 입력 창만 제공하고
KEY, MOUSE의 입력과 계산은 오직 자바스크립트로만 처리가 가능하다.
- 웹 페이지 내용 및 모양의 동적 제어
HTML 태그의 속성이나 콘텐츠, CSS 속성 값을 변경하여
웹 페이지에 동적인 변화를 일으키는 데에 활용 된다.
- 브라우저 제어
브라우저 윈도우의 크기나 모양 변경, 새 윈도우나 탭 열기, 다른 웹 사이트 접속
브라우저의 히스토리 제어 등 브라우저의 작동을 제어하는 데 활용된다.
- 웹 서버와의 통신(Ajax)
웹 페이지가 웹 서버와 데이터를 주고 받을 때 활용된다.
- 웹 애플리케이션 작성(API)
자바스크립트 언어로 활용할 수 있는 많은 API를 제공하므로,
웹 브라우저에서 실행되는 다양한 웹 애플리케이션을 개발할 수 있다.
- Node.js 설치 <-JDK와 비슷한 역할
https://nodejs.org/ko/download/
LTS(Long Term Support) - 장기 지원 버전 다운로드
- Visual Code 설치(통합 개발 환경) <- 이클립스 같은거
https://code.visualstudio.com/download
.zip(무설치) - 다운로드