이력

  • 2021.07.20 포스팅
  • 2021.07.25 약간 수정
  • 2021.11.25 약간 수정

그동안 미루고 미뤄왔던 몰입! 자바스크립트를 제대로 보려고 합니다.
매일매일 읽고, 읽는 부분만큼 요약해서 업로드하겠습니다.
개인적인 견해이지만, 참고로 이책은 스펙을 설명하는 내용이 주이기 때문에 지루합니다.
애정을 갖고 봐야 재미를 찾을 수가 있습니다.
모든 내용을 상세히 담으려 하지 않았습니다.
제가 모르는 부분이나, “이런 것도 있었어?” 하는 부분, 중요하다고 생각되는 부분들만 기록했습니다.
읽어주셔서 감사합니다.

1.1 자바스크립트 역할

  • 웹페이지의 표현(표시) 담당
    • HTML, CSS
  • 동적인 기능 담당(ex. 확인 버튼 클릭시 입력값 검증)
    • js, DOM(Document object model)

DOM(Document Object Model, 문서 객체 모델) 이란?

  • 웹 서비스 개발은 웹 브라우저와 밀접한 관련이 있다.
  • 브라우저와 관련된 객체들의 집합을 BOM(Broswer Object Model)이라고 한다.
  • BOM을 이용해 브라우저와 관련된 기능들을 구성한다. DOM은 BOM중의 하나이다.
  • 문서 객체 모델에(DOM)에서 문서 객체란, HTML 문서의 태그들을 js가 이용할 수 있는 객체로 만들어 놓은 것을 말한다.
  • DOM = 웹 브라우저가 HTML 페이지를 인식하는 방식이라고 생각하면 된다.
  • (저의 의견은 아니고 인터넷에서 찾은 내용입니다.)

  • 요소 기술의 제어
    • 요소 기술 = DOM, HTML, CSS

1.2 자바스크립트 목적

  • 환경별로 목적을 달성하는 방법
  • 웹 브라우저
    • 요소기술을 제어하여 사용자에게 컨텐츠 제공
  • 웹 서버
    • (js가 웹 서버로 확장될 수 있는 근간은 설계 사상에 웹서버에서의 실행이 포함되어 있기 때문이다.)
  • 외부 환경과 접목(통합과 제어)
    • 각 요소 기술은 나름의 목적과 기능을 가지고 있으나, 독립적으로 사용자에게 컨텐츠를 제공하기는 힘들다.
    • js가 각 요소기술을 통합해 컨텐츠들이 빛날 수 있도록 한다.
    • 따라서, js는 외부 환경과 접목할 수 잇는 구조를 가지고 있어야 하며 가지고 있다.
  • 인간에게 컨테츠 제공
    • 사용자게에 컨텐츠를 제공하기 위해 js가 필요하다.
    • js를 배우는 최종 목적지는 사람이다. 즉, js를 배우면서 사람을 생각해야 한다. 그래야 js의 하나하나가 와닿는다.

1.3 자바스크립트의 지속성

  • 웹이 존재하는한 영원할 것이다.
    • 이유 1. 기존 컨텐츠와의 호환성
    • 이유 2. 자바스크립트가 국제 표준임
    • 정보통신 비영리 국제 표잔단체인 ECMA International 에서 자바스크립트 Spec을 제정한다.

1.4 JS의 문서

  • ECMAScript
    • 자바크스립트의 정식 명칭이다.
    • ECMA-262 스펙에 해당한다.

1.5 JS의 작성 방법

  • HTML 파일에 작성
    • script 태그를 이용해, html이나 body 태그 내부에서 사용가능하다.
  • js 파일에 작성
    • js로 작성해 script 태그로 호출하여 사용한다.
    • 여러개 작성 가능하다.
    • head, body 태그 순서로 해석하므로 script 태그를 넣을시 해석 순서를 고려해야 한다.
  • 컴파일 방식
    • JIT(Just In Time)
      • 코드 전체 컴파일
    • 인터프리터 방식
      • 문장 단위로 컴파일과 실행
  • eval()을 제외한 모든 함수는 JIT 방식이다.