개발자취/JAVASCRIPT
자바스크립트(Javascript) 란?
까연
2021. 8. 8. 17:11
자바스크립트란?
: '웹페이지에 생동감을 불어넣기 위해' 만들어진 프로그래밍 언어
스크립트(Script)란 ??
- 스크립트란 다른 프로그램에 의해 번역되거나 수행되는 프로그램이나 명령어들의 나열을 말한다.
- 스크립트는 HTML안에 작성할 수 있는데, 웹 페이지를 불러올 때 스크립트가 자동으로 실행된다.
- 웹 페이지 내에 포함되어 있는 자바스크립트는 웹 브라우저(클라이언트) 측에서 수행된다.
- 스크립트는 컴파일 없이 보통의 문자 형태로 작성할 수 있고, 실행할 수 있다. 그러나, 컴파일된 프로그램보다 실행시간이 오래 걸리는데, 모든 명령어가 기본 명령어 처리기에 의해 직접 처리되지 못하고, 우선 다른 프로그램에 의해 전처리가 필요하기 때문이다.
자바스크립트는 브라우저에서만 사용이 가능한가 ??
자바스크립트는 브라우저뿐만 아니라 서버에서도 실행할 수 있다.
이 외에도 자바스크립트 엔진이 들어있는 모든 디바이스에서도 동작한다.
브라우저엔 '자바스크립트 가상 머신'이라 불리는 엔진이 내장되어 있다.
자바스크립트 가상 머신의 종류
- V8 - Chrome과 Opera에서 사용
- SpiderMonkey - Firefox에서 사용
- Trident, Chakra - IE에서 사용
- ChakraCore - Microsoft Edge에서 사용
- SquirrelFish - Safari에서 사용
엔진의 동작 과정
- 엔진이 스크립트를 읽는다. (파싱)
- 읽어들인 스크립트를 기계어로 전환한다. (컴파일)
- 기계어로 전환된 코드가 실행된다. 기계어로 전환되었기 때문에 실행 속도가 빠르다.
엔진은 프로세스 각 단계마다 최적화를 진행한다. 컴파일이 끝나고 실행 중인 코드를 감시하면서, 이 코드로 흘러가는 데이터를 분석하고, 분석 결과를 토대로 기계어로 전환된 코드를 다시 최적화하기도 한다.
자바스크립트가 브라우저에서 할 수 있는 일
: 웹페이지 조작, 클라이언트와 서버의 상호작용에 관한 모든 일
- 페이지에 새로운 HTML을 추가하거나 기존 HTML, 혹은 스타일 수정
- 마우스 클릭이나 포인터의 움직임, 키보드 키 눌림 등과 같은 사용자 행동에 반응하기
- 네트워크를 통해 원격 서버에 요청을 보내거나, 파일 다운로드, 업로드
- 쿠키를 가져오거나 설정하기. 사용자에게 질문을 건네거나 메시지 보여주기
- 클라이언트 측에 데이터 저장(로컬 스토리지)
자바스크립트가 브라우저에서 할 수 없는 일
: 브라우저는 웹페이지가 개인 정보에 접근하거나 사용자의 데이터를 손상하는 것을 막기 위해 여러 제약을 걸어두었다.
- 디스크에 저장된 임의의 파일을 읽거나 쓰고, 복사하거나 실행할 때 제약을 받을 수 있다.
- 브라우저 내 탭과 창은 대개 서로의 정보를 알 수 없다. → '동일 출처 정책'
자바스크립트만의 강점
|
이 세 가지 모두를 지원하는 브라우저 연관 기술은 자바스크립트뿐이다.
이 외에도 자바스크립트를 이용해 서버나 모바일 앱 등을 만드는 것도 가능하다.
https://ko.javascript.info/intro
자바스크립트란?
ko.javascript.info