프로그래밍이란?
컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션이다.
0과 1밖에 알지 못하는 기계가 실행할 수 있을 정도로 정확하고 상세하게 요구사항을 설명하는 작업이다. 이 결과물이 코드이다.
프로그래밍언어는 syntax와 semantics 의 조합으로 표현 된다.
컴퓨터와의 대화에 사용되는 일종의 표현 수단으로 인간과 컴퓨터 모두가 이해할 수 있는 약속된 형태의 인공 언어이다.
인간이 컴퓨터언어로 코딩을 하면 컴파일러(=인터프리터) (일종의 번역기) 가 기계어로 번역해주면 컴퓨터가 이해한다.
자바스크립트란?
ECAM인터내셔널 : 자바스크립트의 표준화를 담당
2015년 ECMAScript : ES6 버전에서 let, const, 화살표함수, 클래스, 모듈 등을 도입
1999년 비동기적으로 서버와 브라우저가 데이터를 교환할 수 있는 통신 기능인 Ajax가 XMLHttpRequest라는 이름으로 등장하여, 웹페이지의 변경이 필요 없는 부분은 다시 렌더링 하지 않고, 서버로부터 필요한 데이터만을 받아 변경이 필요한 부분만을 한정적으로 렌더링하는 방식이 가능해졌다.
2006년 jQuery의 등장으로 DOM제어를 보다 쉽게 제어할 수 있었고, 크로스 브라우징 이슈도 어느정도 해결
2008년 구글의 V8 자바스크립트 엔진은 자바스크립트가 데스크톱 애플리케이션과 유사한 사용자 경험을 제공할 수 있는 웹 어플리케이션 개발 프로그래밍언어로 자리잡게끔 만들어주었따.
2009년 Node.js의 등장으로 서버 사이드 어플리케이션에서도 사용되는 범용 프로그래밍 언어가 되었다.
SPA가 대중화 되면서 Angular, react, vue.js 등 다양한 SPA 프레임워크/라이브러리가 나오고 있다.
자바스크립트는 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어이다.
자바스크립트 개발 환경과 실행 방법
모든 브라우저는 자바스크립트를 해석하고 실행할 수 있는 자바스크립트 엔진을 내장하고 있다.
웹 브라우저는 어떻게 동작하는가?
웹 애플리케이션의 자바스크립트는 브라우저에서 HTML, CSS와 함께 실행된다.
브라우저의 핵심 기능은 웹 페이지를 서버에 요청하고 서버의 응답을 받아 브라우저에 표시하는 것이다.
브라우저는 서버로부터 HTML, CSS, 자바스크립트. 이미지 파일 등을 응답받는다.
HTML,CSS파일은 렌더링 엔진의 HTML파서와 CSS파서에 의해 파싱되어 DOM, CSSOM트리로 변환되고 렌더트리로 결합된다.
자바스크립트는 렌더링 엔진이 아닌 자바스크립트 엔진이 처리한다.
HTML 파서는 script태그를 만나게 되면 DOM생성 프로세스를 중지하고, 자바스크립트 엔진으로 제어 권한을 넘긴다.
자바스크립트 실행이 완료되면 다시 HTML파서로 제어 권한을 넘겨 DOM생성을 재개한다.
브라우저는 동기적으로 HTML, CSS, 자바스크립트를 처리한다.
script 태그는 body태그 닫는태그 바로 위에 써주는 것이 좋다.
-->이유는 HTML파서가 HTML요소를 모두 파싱하여 DOM객체를 생성한 이후이며, 자바스크립트가 실행되기 이전에 HTML요소가 파싱되어 렌더링되므로 페이지 로딩 시간이 단축된다. 또한 DOM이 완성되지 않은 상태에서 자바스크립트가 DOM을 조작하는 에러가 발생할 우려도 없다.
'패스트캠퍼스 > 자습' 카테고리의 다른 글
poiemaweb 4~5강 정리 (0) | 2019.09.05 |
---|---|
리액트 예습 1~5강 (0) | 2019.09.04 |
React 공부하자 (1) (0) | 2019.08.21 |
패스트캠퍼스 Javascirpt 퀴즈 정리 4) (0) | 2019.08.14 |
패스트캠퍼스 Javascirpt 퀴즈 정리 3) (0) | 2019.08.13 |