DreamCoding

Javascript transcompiler - BABEL을 이용해 변환

Single Page Application - SPA

API - Application Programing Interface

console API - 브라우저가 가지고 있는 API

자바스크립트의 공식사이트

  • ecma-international.org

  • developer.mozilla.org

DOM에서 script의 위치에 따라 로딩 방법

  • Dom실행 순서

    1. HTML Pharsing

    2. Script Fetching(스크립트 다운로드)

    3. Executing Script(스크립트 실행)

👌 DOM을 그릴 때, 최초 HTML을 파싱한다. 이후 script를 만나면 script를 다운로드하게 된다. script다운, 실행이 완료된 후, 다시 HTML을 파싱한다. script의 위치와 속성(asnc, defer)에 따라, 다운로드 + 실행의 순서가 바뀌게 된다.

<!DOCTYPE html>
<html lang="ko">
<head>
	<meta charset="utf-8">
	<title>Document</title>
	<script src="test.js"></script>
</head>

js가 무겁거나, js에 의존적인 경우 사용자들은 다운로드 + 실행되기를 기다려야 한다.

  • async

    async는 스크립트를 만나는 순간, 다운로드만 하고, 다운로드가 완료되었을 때 실행하게 된다.

    하지만, HTML Pharsing이 다 되지 않은 상태에서 실행되기 때문에, 선택자가 올바르게 동작하지 않을 수 있고, js의 크기에 따라 다운로드되어지는 순서에 따라 실행되어 개발자가 작성한 스크립트 순서대로 실행되지 않을 수 있음.

  • defer

    defer는 HTML Pharsing의 경우에는, pharsing하는 동안 동시에, 다운로드를 미리 해두고 HTML Pharsing이 완료된 후, 바로 js를 실행하게 되어 가장 안정적이다.

  • use strict - 자바스크립트가 엄격해짐. 자바스크립트 엔진이 효율적으로 처리할 수 있게 됨.

    클래스

    getter와 setter

    👌 getter와 setter를 조금 더 공부해야 할 것으로 보임.

    publicField와 privateField

    publicField는 외부에서 접근이 가능하지만, privateField는 접근이 불가능함

    (브라우저 지원이 거의 안됨) - 바벨 사용해야 함.

    static함수

    instanceOf

    • 인스턴스 인지 확인하는 것 ( true || false Return)

    오브젝트

    배열(Array)

    👌 shift, unshift가 pop과 push보다 느림. - 길이가 길면 길수록 shift, unshift는 느림. - 중간에 데이터를 넣는 것은 index를 이용하기 때문에, 빠름.

    JSON - Javascript Object Notation

    HTTP : Hypertext transfer protocol

    AJAX를 이용해서 데이터를 받아올 수 있음

    Asynchronous Javascript and XML

    XHR : XMLHttpRequest Object : 브라우저 API제공하는 오브젝트

    👌 fetch() API : ie에서는 지원하지 않음.

    서버와 데이터를 주고받을때에는 XML뿐만 아니라, 다른 것들도 주고 받을 수 있음.

    JSON : key와 value로 이루어져 있음.

    • Object를 JSON으로 어떻게 변경할지에 대해서 공부

    • JSON을 Object로 어떻게 변환할지에 대해서 공부

프론트엔드 필수 브라우저 101

Last updated