JavaScript - 문제 미리보기

문제 737

hard
다음 쿠키 관련 코드의 실행 결과는? ```javascript // 쿠키 설정 document.cookie = "username=John; expires=Thu, 18 Dec 2025 12:00:00 UTC; path=/"; document.cookie = "theme=dark; expires=Thu, 18 Dec 2025 12:00:00 UTC; path=/"; // 쿠키 읽기 console.log(document.cookie); // 쿠키 삭제 (username만) document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/"; // 다시 쿠키 읽기 console.log(document.cookie); ```
A. 첫 번째: `"username=John"`, 두 번째: `"theme=dark"`
B. 첫 번째: `"username=John; theme=dark"`, 두 번째: `"theme=dark"`
C. 첫 번째: `"username=John; theme=dark"`, 두 번째: `""`
D. 첫 번째: `"theme=dark; username=John"`, 두 번째: `"theme=dark"`

정답: B

쿠키 동작 원리: 1. 쿠키 설정: `document.cookie = "name=value; expires=date; path=/"` • 새 쿠키를 추가 (기존 쿠키를 덮어쓰지 않음) 2. 쿠키 읽기: `document.cookie` • 모든 쿠키를 세미콜론으로 구분된 문자열로 반환 • 순서는 브라우저에 따라 다를 수 있음 3. 쿠키 삭제: 만료일을 과거로 설정 ```javascript document.cookie = "name=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/"; ``` 실무에서 쿠키 관리 함수: ```javascript // 쿠키 설정 function setCookie(name, value, days) { const d = new Date(); d.setTime(d.getTime() + (days * 24 * 60 * 60 * 1000)); document.cookie = `${name}=${value}; expires=${d.toUTCString()}; path=/`; } // 쿠키 가져오기 function getCookie(name) { const cookies = document.cookie.split(';'); for(let cookie of cookies) { let [key, value] = cookie.trim().split('='); if(key === name) return value; } return null; } // 쿠키 삭제 function deleteCookie(name) { document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/`; } ``` 주의사항: • 쿠키는 도메인과 경로별로 관리됩니다 • HTTPS에서는 `Secure` 속성 사용을 권장합니다 • 개인정보보호를 위해 중요한 데이터는 쿠키에 저장하지 않습니다

💡 학습 팁

이 문제를 포함한 JavaScript 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.