<aside>
📌 요약: API는 프로그래밍 인터페이스이며 어떤 기능을 사용하려면 이러한 함수를 호출해서 이러한 인자를 넘기고 어떤 결과값이 리턴된다 등과 같은 것들을 명세하여 기록해놓은 인터페이스다. DOM API, Network API, File API 등등..
DOM 상위에 BOM이 있고, Render Tree는 브라우저 속도를 최적화 시키기위함이며, DOM + CSSOM을 통해서 만들어진다.
프로세스는 하나의 프로그램이 메모리에 올라간 상태이며 쓰레드는 한 프로세스 안에서 기능단위로 구분된 처리 단위다.
자바스크립트는 싱글 쓰레드인데, 브라우저 런타임 환경의 도움을 받아 비동기와 같은 작업들을 수행 가능하다.
Object.freeze(obj)
를 하면 이 obj는 속성이 변하지 않는다. Object.assign({}, obj)
를 하면 빈 객체에 기존의 객체를 복사하여 deep copy를 한다.
iterable protocol을 따르려면 Symbol.iterator
를 가지고 있어야한다.
getElementsByTagName()
으로 불러오면 HTML Collection타입으로 반환되는데 여기엔 forEach(), map()과 같은 메서드가 없어서 사용할 수 없다. 반면에, querySelectorAll()
은 Node List를 반환하는데 여기에는 forEach()나 map()과 같은 내장함수가 있기 때문에 사용할 수 있다.
이벤트리스너의 콜백함수에 매개변수를 전달하지 않아도 안에서 이벤트 객체를 사용할 수 있다.
참고로 fuction 표현식에서 인자는 다음과 같이 전달이 가능하다.
functionOne(callbackFunc, “arg1”, “arg2”);
</aside>