[Mordern JavaScript Tutorial] Part 1.1.1. 자바스크립트란?

강진석·2022년 5월 20일
0

자바스크립트란?

자바스크립트가 언어로서 지닌 특징, 무엇을 만들 수 있고, 어떻게 활용하고 있는지.

정의

자바스크립트

웹페이지에 생동감을 불어넣기 위해 만들어진 언어

  • 스크립트: 자바스크립트로 작성한 프로그램
  • 웹페이지의 HTML 안에서 작성하면, 웹페이지를 불러올때 실행됨
  • 컴파일 필요 없이 작성&실행 가능
  • 자바스크립트 엔진이 있는 모든 환경에서 동작
    -> 다양한 환경에서 쓰이고 있음

자바스크립트 엔진

자바스크립트 가상 머신

종류

  • V8: chrome, opera
  • SpiderMonkey: FireFox
  • Trident/Chakra: IE
  • ChakraCore: Edge
  • SquirrelFish: Safari

작동 원리

  1. 엔진이 스크립트를 읽음
  2. 읽은 스크립트를 기계어로 컴파일
  3. 기계어 코드 실행

컴파일 각 단계마다, 컴파일이 끝난 후 실행중인 코드를 분석,감시,최적화

브라우저에서 할 수 있는 일

  • 모던자바스크립트는 안전한 언어
  • 메모리, CPU 등 로우레벨 접근 불가능
  • 실행환경에 영향을 많이 받음

Node.js: 파일 입출력, 네트워크 요청 함수 지원 등

브라우저: 웹페이지 조작, 클라이언트-서버 상호작용 등

  • 페이지에 새로운 HTML을 추가하거나 기존 HTML, 혹은 스타일 수정하기
  • 마우스 클릭이나 포인터의 움직임, 키보드 키 눌림 등과 같은 사용자 행동에 반응하기
  • 네트워크를 통해 원격 서버에 요청을 보내거나, 파일 다운로드, 업로드하기(AJAX나 COMET과 같은 기술 사용)
  • 쿠키를 가져오거나 설정하기. 사용자에게 질문을 건네거나 메시지 보여주기
  • 클라이언트 측에 데이터 저장하기(로컬 스토리지)

브라우저에서 할 수 없는 일

  1. 파일 입출력, 복사, 실행 제약
  2. Same Origin Policy: 데이터 교환에 동의한 특수한 코드 없이 탭이나 창끼리 접근 불가
  3. HTTP 등을 통한 승인 없이 다른 도메인 통신 불가

자바스크립트 강점

  1. HTML/CSS와 완전히 통합 가능
  2. 간단한 일은 간단하게 처리 가능
  3. 모든 브라우저에서 기본 언어로 지원

자바스크립트 ‘너머의’ 언어들

작성 후 실행 전 자바스크립트로 변환을 지원하는 언어들
1. CoffeeScript
2. TypeScript
3. Flow
4. Dart

0개의 댓글