html문서를 브라우저가 불러올때,
<html>
<head>
<title>웹페이지</title>
<body>
<div class="nothing"></div>
이 문서의 요소(태그)들을 하나하나 분석하고
자신이 이해할 수 있는 Javascript, node라는 object로 변환!
이 node라는 객체는 EventTarget을 상속함,
즉, 모든 node는 이벤트가 발생할 수 있다!
document도 node를 상속하기 때문에, 이런 node의 종류는 굉장히 다양!
그렇다면, DOM과 HTML의 차이는? 같은거 아냐???no!
예를 들어, 우리가 연습을 위해 head나 body태그를 쓰지 않고 div만 하나 써서 작성한 html문서를 브라우저에서 연다고 생각해보자,
이때 브라우저는 html문서를 분석하면서 자동으로 head와 body에 해당하는 node를 만들고 그 안에 div를 생성할 것!
일반적인 회원가입 페이지에서 , 아이디, 비밀번호, 비밀번호 확인 등과 같은 인풋태그에서 전달받은 값이 원하는 형식에 유효한지 검사하는 기능!
유효성 검사의 목표는 회원 가입이라는 핵심 기능에 대해, 작동이 가능한 MVP(Minimum Viable Product)를 만들어 내는 것
실제 개발에서 굉장히 자주 마주치는 문제!
rest 파라미터는 배열내부에 '남아있는 것들'을 "모아주는"
spread 연산자는 iterable(반복가능한) object를 하나의 요소, argument로 '펼치는'