TMDB 또는 영화진흥위원회 오픈 API 이용(택 1 또는 중복 사용)
영화정보 상세 페이지 구현
상세 페이지 영화 리뷰 작성 기능 구현
github PR(=Pull Request) 사용한 협업
UX를 고려한 validation check
기재된 Javascript 문법 요소를 이용하여 구현
const와 let만을 이용한 변수 선언
형 변환 : 하기 예시 중 2개 이상 사용
number → string, string → number
연산자 : 하기 예시 중 3개 이상 사용, boolean → string
논리곱(&&), 논리합(||), 논리부정(!), 삼항연산자(? :), 타입연산자(typeof)
화살표 함수 : 하기 예시 중 2개 이상 사용
조건문 : 하기 예시 전부 구현
if, switch, 삼항 연산자, 조건문 중첩, if 내부 switch
반복문 : 하기 예시 전부 구현
for, for...in, for...of
while, do~while
break, continus
객체
let person1 = {name: "홍길동",age: 30};
let person2 = {gender: "남자"};
let mergedPerson = {...person1, ...person2};
console.log(mergedPerson); // { name: "홍길동", age: 30, gender: "남자" }
배열(1) : 하기 예시 중 2개 이상 사용
push, pop, shift, unshift, splice, slice
배열(2) : 하기 예시 중 3개 이상 사용
forEach, map, filter, reduce, find
null, undefined : 하기 예시 필수 구현
null과 undefined를 활용한 ‘없는 값'에 대한 처리
if(testValue === null) {// do something}
if(testValue === undefined) {// do something}
callback 함수 : 하기 예시 필수구현
setTimeout, setInterval을 활용한 callback 함수 처리하기
자료구조 : 하기 예시 중 1개 이상 사용
💡 Map 생성 및 사용하기
Map의 주요 메서드 및 프로퍼티
new Map() – 새로운Map
을 만듭니다.
map.set(key, value) –key
를 이용해value
를 저장합니다.
map.get(key) –key
에 해당하는 값을 반환합니다.key
가 존재하지 않으면undefined
를 반환합니다.
map.has(key) –key
가 존재하면true
, 존재하지 않으면false
를 반환합니다.
map.delete(key) –key
에 해당하는 값을 삭제합니다.
map.clear() – 맵 안의 모든 요소를 제거합니다.
map.size – 요소의 개수를 반환합니다.
💡 Set 생성 및 사용하기(반복 포함)
Set의 주요 메서드 및 프로퍼티
new Set() : 새로운 Set을 생성합니다.
set.add(value) : Set에 새로운 값을 추가합니다.
set.has(value) : Set에 특정 값이 존재하는지 여부를 반환합니다.
set.delete(value) : Set에서 특정 값을 삭제합니다.
set.clear() : Set 안의 모든 요소를 제거합니다.
set.size : Set 안의 요소 개수를 반환합니다.
DOM 제어하기 : api 목록 중, 4개 이상 사용하기
document.createElement(tagName)
: 새로운 HTML 요소를 생성합니다.document.getElementById(id)
: id 속성을 기준으로 요소를 선택합니다.document.getElementsByTagName(name)
: 태그 이름을 기준으로 요소를 선택합니다.document.getElementsByClassName(name)
: 클래스 이름을 기준으로 요소를 선택합니다.document.querySelector(selector)
: CSS 선택자를 이용하여 요소를 선택합니다.document.querySelectorAll(selector)
: CSS 선택자를 이용하여 모든 요소를 선택합니다.element.innerHTML
: 해당 요소 내부의 HTML 코드를 변경합니다.element.textContent
: 해당 요소 내부의 텍스트를 변경합니다.element.setAttribute(attr, value)
: 해당 요소의 속성 값을 변경합니다.element.getAttribute(attr)
: 해당 요소의 속성 값을 가져옵니다.element.style.property
: 해당 요소의 스타일 값을 변경합니다.element.appendChild(child)
: 해당 요소의 하위 요소로 child를 추가합니다.element.removeChild(child)
: 해당 요소의 하위 요소 중 child를 삭제합니다.element.classList.add(class)
: 해당 요소의 클래스에 새로운 클래스를 추가합니다.element.classList.remove(class)
: 해당 요소의 클래스 중에서 특정 클래스를 제거합니다.element.classList.toggle(class)
: 해당 요소의 클래스 중에서 특정 클래스를 추가 또는 제거합니다.element.addEventListener(type, listener)
: 해당 요소에서 이벤트가 발생했을 때 호출할 함수를 등록합니다.element.removeEventListener(type, listener)
: 해당 요소에서 등록된 함수를 제거합니다.event.preventDefault()
: 이벤트가 발생했을 때 기본 동작을 취소합니다.event.stopPropagation()
: 이벤트의 버블링을 방지하기 위해 이벤트 전파를 중지합니다.window.location.href
: 현재 페이지의 URL을 가져옵니다.window.alert(message)
: 경고 메시지를 출력합니다.window.confirm(message)
: 확인 메시지를 출력하고 사용자의 답변에 따라 Boolean 값을 반환합니다.module
import, export