• 클론코딩 (Aesop, header부분 js 리팩토링?과 scroll 감지 효과 구현)
• 백준 1문제 풀기
• js 강의 듣기(this, prototype)
const opens = document.querySelectorAll('.open');
[].forEach.call(opens, function (open) {
open.classList.remove('open');
});
내가 이솝홈페이지 클론코딩하면서 헤더의 버튼을 클릭하면 해당하는 화면빼고 나머지는 다 닫아주기 위해 open 클래스를 가지 요소에서 다 open을 제거하기 위해 넣었던 코드였다. 구글링으로 찾아서 넣었던거라 예시랑 맞춰서 인자를 넣었는데 오늘 생성자함수 수업과 this바인딩을 들으면서 저 코드가 생각나서 다시 찾아봤다.
querySelectorAll 로 찾은 요소들이 유사배열 Nodelist로 반환되어 이 노드리스트 내 아이템들에 forEach 메소드를 쓰기위해 call로 불러와 하나씩 open클래스를 제거해줬다. 근데 검색을 해보니 Nodelist에도 forEach메소드를 직접 사용할 수 있었다. 그래서 다시 작성해본 코드.. 고친게 훨씬 가독성이 좋은거 같다.
const opens = document.querySelectorAll('.open');
opens.forEach((open) => open.classList.remove('open'));
과제 제출하고 나서도 내가 짠 코드를 꼭 리팩토링하는 시간을 가져야겠다.
• 클론코딩 (Aesop, footer js), 코드 및 파일 정리
• js수업 듣기
• 백준 2문제 풀기