결과가 1초씩 순서대로 출력된다.실행의 순서는 보장했지만 들여쓰기 형태로 파고들어가므로 , 코드가 많아지면 읽고 관리하기가 쉽지 않다는 단점이 있다.
비동기로 동작하는 코드를 promise 생성자를 통해서 정리를 해주면 then 이라는 메서드를 통해서 순서대로 작성할수 있으며 , 훨신 더 간결한 패턴으로 비동기 코드에서의 다음순서보장을 만들수 있다.
await 는 항상 async 가 붙여져 있는 함수 안에서만 사용이 가능하다.
Resolve, Reject 그리고 에러핸들링 Resolve, Reject 그리고 Promise로 에러핸들링 Resolve, Reject 그리고 async await 에러핸들링
forEach 라는 메서드 내부에서는 각각의 getMovies 라는 함수의 동작을 기다렸다가 다음 callback 으로 넘어가는것은 불가능하다.그러하여 titles 에 들어가있는 내용 순서대로 출력이 안될수도 있다.그래서 반복을 매번 기다려가면서 수행을 하려면 forE
fetch(주소, 옵션) 네트워크를 통해 리솟의 요청(request) 및 응답(Response)을 처리할수 있습니다. Promise 인스턴스를 반환합니다.
Dom 이란 HTML 문서를 객체로 표현한 것으로, JS에서 html 을 제어할수 있게 해줍니다.HTML id 속성(Attributes) 값으로 검색한 요소를 반환합니다.여러 요소가 검색되면, 가장먼저 찾은 요소만 변환합니다.검색 결과가 없으면, null 을 반환합니다
메모리에만 존재하는 새로운 HTML 요소를 생성해 반환합니다.노드를 요소의 첫번째 혹은 마지막 자식으로 삽입합니다.요소를 제거합니다.대상 요소의 지정한 위치에 새로운 요소를 삽입합니다.대상\_요소.insertAdjacentElement(위치, 새로운요소)부모 노드의 자
현재 화면(Viewport)의 크기를 얻습니다.페이지의 좌상단 기준, 현재 화면의 viewport 의 수평 혹은 수직 스크롤 위치를 얻습니다.지정된 좌표로 대상(화면, 스크롤 요소)을 스크롤합니다.대상.scrollTo(x좌표, y좌표)대상.scrollTo({top:Y,
대상에 이벤트 청취(Listen)을 등록합니다.대상에 지정한 이벤트가 발생했을때 지정한 함수(handler)가 호출됩니다.대상에 등록했던 이벤트 청취(Listen)를 제거합니다.메모리 관리를 위해 등록한 이벤트를 제거하는 과정이 필요할수도 있습니다.이벤트는 후손요소로
Console .log() , .warn() , .error(), .dir() 콘솔에 메세지나 객체를 출력합니다. .log() : 일반 메세지 .warn() : 경고 메세지 .error() : 에러 메세지 .dir() : 속성을 볼수 있는 객체를 출력 .count()
Cookie(쿠키) 도메인 단위로 저장 표준안 기준, 사이트당 최대20개 및 4KB로 제한 영구 저장 불가능 domain : 유효 도메인 설정 (도메인이 맞지 않으면 쿠키가 생성되지 않는다.) path : 유효 경로 설정 expires : 만료 날짜(UTC Date)
.href : 전체 URL 주소.protocol : 프로토콜.hostname : 도메인 이름.pathname : 도메인 이후 경로.host : 포트 번호를 포함한 도메인 이름.port : 포트 번호.hash : 해시 정보(페이지의 ID) .assign(주소) : 해당
History 객체 브라우저 히스토리(세션 기록) 정보를 반환하거나 제어합니다. .length : 등록된 히스토리 개수 .scrollRestoration : 히스토리 탐색시 스크롤 위치 복원 여부 확인 및 지정 .state : 현재 히스토리에 등록된 데이터(상태) .
변경이 불가한 데이터로 유일한 식별자를 만들어 데이터를 보호하는 용도로 사용할수 있다Symbol('설명') : 설명은 단순 디버깅을 위한 용도일 뿐, 심볼 값과는 관계가 없다.
참조형은 가변성으로 인해, 데이터를 복사할대 주의가 필요합니다.얕은복사 : 참조형의 1차원 데이터만 복사깊은복사 : 참좋형의 모든 차원 데이터를 복사
함수가 선언될 때의 유효범위 (렉시컬 범위)를 기억하고 있다가, 함수가 외부에서 호출될 때 그 유효범위의 특정 변수를 참조할수 있는 개념을 말합니다.이 코드를 간결하게 줄이면
정규식.test(문자열) : 일치 여부 반환문자열.match(정규식) : 일치하는 문자의 배열 반환문자열.replace(정규식, 대체문자) : 일치하는 문자를 대체g : 모든 문자 일치i : 영어 대소문자 구분하지 않고 일치(Ignore case) m : 여러줄 일치(