[TIL] JavaScript란?

이지예·2022년 4월 10일
0

JavaScript

목록 보기
4/24

자바스크립트 기초가 부족한것 같아 다른 사이트에서도 자바스크립트를 공부해보았다.
우선 순서대로 차근차근 모르는부분을 공부해보자

자바스크립트란?

'웹페이지에 생동감을 불어넣기 위해'만들어진 프로그래밍 언어이다. html안에 css와 script가 쓰이는데, script가 바로 자바스크립트로 작성한 코드부분이다.

자바스크립트는 브라우저뿐 아니라 서버에서도 실행 가능하다. 검색하다보면 V8이라는 말을 많이 들었는데, V8은 Chrome과 Opera에서 쓰이는 엔진이다. 엔진은 브라우저에 내장된 자바스크립트 가상 머신이다. 이외에도 SpiderMonkey - Firefox, ChackrCore - Mrcrosoft Edge, SuirrelFish - Safari가 쓰인다. 엔진마다 지원되는 기능이 있고, 없는 기능이 있다.

엔진 동작 원리

  1. 엔진이 스크립트를 읽음(파싱)
  2. 읽어들인 스크립트를 기계어로 전환(컴파일)
  3. 기계어로 전환된 코드가 실행. 기계어로 전환되어서 실행 속도가 빠름

자바스크립트가 브라우저에서 할 수 있는 일

  • 페이지에 새로운 html 추가하거나, 수정하기
  • 사용자 행동에 반응하기(예:클릭, 키보드 눌림)
  • 네트워크를 통해 원격 서버에 요청을 보내거나 파일다운로드, 업로드하기(ajax나 comet같은 기술 사용)
    ajax란? 기존 웹과 달리 중복되는 html 코드를 전송받지 않고, 필요한 데이터만 받아들여 데이터 처리에 대한 부하를 줄여주는 기술로, 페이지 이동없이 고속으로 화면 전환이 가능하다.
    comet이란? client로 유의미한 메시지를 전달할때까지 http응답을 지연시키는 기술이다. 일반적인 웹모델은 서버와 클라이언트 브라우저간 상태를 유지한 통신이 불가능하다. comet은 이러한 http의 한계를 극복하고자 만든 Web Application Model로, 서버에서 발생한 이벤트를 client의 추가 요청없이 송신할 수 있다.

브라우저에서 할 수 없는 일

  • 웹페이지 내 스크립트는 운영체제가 지원하는 기능인 디스크에 저장된 파일 읽거나 쓰거나 복사를 실행할 때 제약이 있을 수 있다.
  • 브라우저 내 탭과 창은 대개 서로의 정보를 알 수 없다.
  • 타 사이트의 데이터를 받아오는건 불가능하다.

자바스크립트의 강점

  • html/css와 통합 가능
  • 간단한 일 간단하게 처리할 수 있게 해준다.
  • 모든 주요 브라우저에서 지원하고, 기본언어로 사용된다.
  • 서버나 모바일 앱 등을 만드는 것도 가능하다.

자바스크립트로 변환 가능한 언어_
CoffeeScript, TypeScript, Flow, Dart



공부하다가 추가로 조사한 부분 - 저수준은 직접 하드디스크를 움직여서 파일을 읽고 쓰는것이고, 고수준은 운영체제를 거쳐서 파일을 읽고 쓰는것을 말한다.

참고 사이트 https://ko.javascript.info/

0개의 댓글