개요 Overview
시맨틱 Semantic
코드 뿐만 아니라 코드 그룹에 흐름을 쉽게 이해할 수 있도록 앞뒤로 연결지어 시맨틱하게 작성하자
//함수 이름에 시맨틱을 부여하면 함수 블록의 코드를 읽지 않아도 함수 기능을 짐작 가능
//이름만 봐도 값을 리턴하겠구나
const values = [1, 2];
const getValue = (index) => {
return values[index]
};
const value = getValue(1);
console.log(value); // 2Semantic + Nuance
모자를 쓰다 vs 글을 쓰다 //쓰다라는 단어는 같지만, 행동이 아예 다름
//시멘틱 뿐만 아니라 뉘앙스(목적)까지 제한해서 단순화하자 -> 원하는 것이 무엇인지 정리하자인터페이스 Interface
인터페이스는 만들어진 DOM 트리에 접근/조작하기 위함이고, 가장 최상단에 Document

자바스크립트는 사전 처리를 하지 않아도 이미 빌트인 되어 있기 때문에 DOM 인터페이스를 이용할 수 있다. DOM은 오브젝트이고, 자바스크립트도 오브젝트 기반이기 때문에 가능한 것 같다...?
함수는 정적 스코프, 실행 콘텍스트를 펼침
함수는 인스턴스에 포함되지 않는다?
함수는 callable
Global Object는 Window.location 과 같이 불리는 것 이고 자바스크립트에서 만든게 아님
실행 콘텍스트
렉시컬 호출된 함수에 작성된 변수, 파라미터 등 모든 것을 {key: value} 형태로 설정 이 안에서 함수 블록의 코드 실행
외부 렉시컬 함수 외부에 있는 변수/함수를 참조했다면 여기에 설정 -> 클로저 (실행 콘텍스트가 펼쳐진 함수 기준으로 함수 밖은 클로저)
스코프
aria 관련 프로퍼티는 접근성 관련
XHTML, HTML 4.5는 마크업 중심으로 자바스크립트가 필요 없었으나,
HTML 5는 애플리케이션 중심으로 자바스크립트가 필요해졌다 -> Element 뿐만아니라 api 들도 추가됨
HTML은 콘텐츠를 제공하기 위함, 표현은 CSS 역할

Element들은 카테고리에 속해있을 수 있다
HTMLElement
프로퍼티 메소드가 포함될 수 있음
Node 옵션 엘리먼트에 설정될 수 있음
문장으로 요구사항을 만들어보자 (시나리오 짜기)
sudo코드로 진행봐도 괜찮을 것 같다
사용자 중심 스토리 태스크를 구성해보자
그 이후에 개발을 고민하자
자바스크립트는 ECMASciprt 스펙이다
스펙이 실무 기준이다
DOM은 동적으로 콘텐츠 제공, 사용자와 인터렉션 할 수 있도록 접근 및 조작하기 위함이다
DOM의 인터페이스, 프로퍼티, 메소드를 잘 감 잡아보자
W3C World Wide Web Consortium
WHATWG DOM 스펙 작성 모든 것을 주관
Web Applications Working Group DOM확장, UI Event
DOM은 버젼이 아닌 레벨을 이용함
DOM Living Standard
HTML Living Standard
Last updated