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);
```
정답: 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 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.