본문 바로가기
WEB/javascript

자바스크립트

by 일상코더 2023. 3. 2.

자바스크립트(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

댓글