자바스크립트(JavaScript)란?
자바스크립트(JavaScript)란?
자바스크립트는 웹 페이지를 살아 움직일 수 있게 만들어주는 스크립트 언어입니다. HTML과 CSS가 정적인 페이지를 보여준다면 자바스크립트는 정적인 페이지를 동적으로 만들어주는 역할을 합니다.
HTML 페이지 안에 작성할 수 있으며 별도의 컴파일 과정 없이 웹 페이지가 로딩될 때 실행됩니다.
이름때문에 자주 오해받고는 하지만 Java와는 완전히 별개의 언어라고 생각하시면 됩니다.
자바스크립트의 역할
자바스크립트의 기본적인 용도는 도입부에서 말씀드렸듯이 정적인 웹 페이지를 동적으로 만들어주는 것 입니다.
어떻게 동적으로 만들어주는지 그 역할을 한번 볼까요?
1. HTML 조작
- 자바스크립트를 통해 HTML 요소를 추가, 제거하거나 페이지를 직접 조작할 수 있습니다.
2. CSS 조작
- 특정 요소에 스타일을 추가하거나 제거할 수 있습니다.
3. 이벤트 처리
- 마우스나 키보드의 입력, 클릭, 스크롤 등의 이벤트에 반응하여 특정한 동작을 실행할 수 있습니다.
4. AJAX를 이용한 서버와의 소통
- AJAX를 이용하여 웹 서버와 소통할 수 있습니다.(AJAX에 대해서는 추후 다루겠습니다.)
5. 쿠키 처리
- 쿠키를 설정하거나 조회할 수 있습니다.
6. 동적인 효과 지원
- 경고창 띄우기, 이미지나 버튼 등에 롤오버 효과를 넣는 등 동적인 효과로 꾸며주는 일을 할 수 있습니다.
이 외에도 JS로 할 수 있는 일은 무궁무진하니 궁금하신 분은 노마드 코더 니꼬님의 영상을 참조해주세요.
자바스크립트의 특징
1. 클래스와 상속 개념이 없음
- 객체 지향 언어이지만 클래스와 상속 개념이 없습니다. ECMA Script 5 버전부터 class 키워드를 지원하긴 하지만 형식적인 문법에 가깝습니다.
2. 인터프리터 언어
- 인터프리터 언어로서 별도의 컴파일 과정 없이 웹 브라우저에 의해 해석되고 실행됩니다.
3. Dynamic typing
- 동적타입 언어이기 때문에 변수의 자료형을 미리 선언 할 필요가 없습니다.
4. 클라이언트와 서버 양쪽 다 사용가능
- 기본적으로는 클라이언트측에서 사용하지만 nodejs와 같은 플랫폼을 이용하면 서버측에서도 사용할 수 있습니다.
5. 함수를 일급 객체(First-class citizen)로 취급한다.
- 일급 객체에 대한 설명은 링크를 참조하시면 됩니다.
자바스크립트의 장점
1. OS에 종속적이지 않음
- 웹 브라우저에 의해 해석되고 실행되기 때문에 OS에 상관없이 동일한 결과를 실행합니다.
2. 속도
- 컴파일 과정이 없는 인터프리터 언어이기 때문에 개발 속도가 빠릅니다.
3. 쉬운 입문 난이도
- 파이썬과 같이 직관적이고 단순한 구조를 가지고 있어 난이도가 쉬운 편입니다.
4. 폭 넓은 사용범위
- 위의 니꼬님의 영상에서 나오듯 웹 개발 외에도 사용할 수 있는 분야가 정말 많습니다.