자바스크립트(JavaScript)란?
- 웹페이지에 생동감을 불어넣기 위해 만들어진 프로그래밍 언어이다.
- 자바스크립트로 작성한 프로그램을 스크립트(script)라고 부른다.
- 스크립트는 웹페이지의 HTML 안에 작성할 수 있는데, 웹페이지를 불러올 때 스크립트가 자동으로 실행된다.
- 스크립트는 특별한 준비나 컴파일 없이 보통의 문자 형태로 작성 할 수 있고, 실행 할 수있다.
왜 자바스크립트인가?
- 처음 자바스크립트가 만들어졌을 대는 'LiveScript'라는 이름으로 불렸다.
- 처음 만들어질 당시에 자바의 인기가 아주 높은 상황이었다.
- 관련인들이 자바스크립트를 자바의'동생' 격인 언어로 홍보하면 도움이 될 것이라는
사결정을 내리고 이름을 교체했다.
- 이름은 자바에서 차용해 왔지만, 자바스크립트는 자바와 독자적인 언어이다.
- 꾸준히 발전을 거듭하면서 ECMAScript라는 고유한 명세를 갖춘 독립적인 언어가 되었다.
=> 자바와 아무런 연관이 없다.
자바스크립트 실행 방법
1. 브라우저
- 브라우저엔 '자바스크립트 가상 머신' 불리는 엔진이 내장되어 있다.
- Chrome, Opera에서는 V8엔진을 사용한다.
- Firefox에서는 SpiderMonkey를 사용한다.
- IE(인터넷 익스플로러)는 버전에 따라 'Trident’나 'Chakra’라 불리는 엔진을 사용한다.
- Microsoft Edge는 'ChakraCore’을 사용하며, Safari에서는 'SquierrelFish'를 사용한다.
2. Node.js
- 자바스크립트를 브라우저 밖에서도 실행 할 수 있도록 하는 자바스크립트의 런타임
엔진 동작원리
엔진(브라우저라면 내장 엔진)이 스크립트를 읽는다(parsing).
-> 읽어 들인 스크립트를 기계어로 전환한다.(컴파일)
-> 기계어로 전환된 코드가 실행된다. (기계어로 전환되었기 때문에 실행 속도가 빠르다)
브라우저에서 할 수 있는 일과 할 수 없는 일
할 수 있는 일
- 모던 자바스크립트는 안전한 프로그래밍 언어 이기 때문에 메모리나 CPU 같은 저수준 영역의
조작을 허용하지 않는다.
- 브라우저 환경에선 웹페이지 조작, 클라이언트와 서버의 상호작용에 관한 모든 일을 할 수 있다.
- 페이지에 새로운 HTML을 추가하거나 기존 HTML, 혹은 스타일을 수정 할 수 있다.
- 마우스 클릭이나 포인터의 움직임, 키보드 키 눌림 등과 같은 사용자 행동에 반응 할 수 있다.
- 네트워크를 통해 원격 서버에 요청을 보내거나, 파일 다운로드, 업로드 할 수 있다.
- 쿠키를 가져오거나 설정하기, 사용자에게 질문을 건네거나 메시지 보여줄 수 있다.
- 클라이언트 측에 데이터를 저장 할 수 있다.(로컬 스토리지)
할 수 없는 일
- 브라우저는 보안을 위해 자바스크립트의 기능에 제약을 걸어놓았다.
- 웹페이지 내 스크립트는 디스크에 저장된 임의의 파일을 읽거나 쓰고, 복사할 때 제약을 받을 수 있다.
- 브라우저 내 탭과 창은 대게 서로의 정보를 알 수 없다.
- 타 사이트나 도메인에서 데이터를 받아오는 건 불가능 하다.
자바스크립트만의 강점
1. HTML/CSS와 완전히 통합할 수 있다.
2. 간단한 일은 간단하게 처리할 수 있게 해준다.
3. 모든 주요 브라우저에서 지원하고, 기본 언어로 사용된다.
4. 서버나 모바일 앱 등을 만드는 것도 가능하다.
결론
- 자바스크립트는 브라우저에서만 쓸 목적으로 고안된 언어이지만, 현재는 다양한 환경에서 쓰이고 있다.
- 오늘날 자바스크립트는 브라우저 환경에서 가장 널리 사용되는 언어로 자리매김 하였다.
- HTML/CSS와 완전한 통합이 가능하다.
- 자바스크립트로 '트랜스파일' 할 수 있는 언어가 많다.
'WEB > javascript' 카테고리의 다른 글
스코프 (2) | 2023.03.13 |
---|---|
콜백 함수 (0) | 2023.03.12 |
타입 변환과 단축 평가 (0) | 2023.03.10 |
객체 (0) | 2023.03.10 |
DOM (0) | 2023.03.08 |
댓글