JavaScript에서 쿠키 만료 여부 확인하기
웹 개발을 하다 보면 저장해 둔 쿠키가 아직 유효한지, 아니면 이미 만료되어 사라졌는지 확인해야 하는 상황이 자주 발생합니다. jQuery Cookie 플러그인($.cookie())을 사용하고 있다면, 간단한 조건 검사만으로 쿠키의 존재 여부를 손쉽게 판별할 수 있습니다.
1. if 문으로 확인하는 방법
쿠키가 만료되었는지 테스트하려면 아래와 같이 조건문을 추가하고 null 여부를 검사하면 됩니다.
if( !($.cookie('myCookie') === null) ) {
// 쿠키가 존재할 때 실행할 코드
} else {
// 쿠키가 만료(또는 없음)일 때 실행할 코드
}
$.cookie('myCookie')는 'myCookie'라는 이름의 쿠키 값을 반환합니다. 쿠키가 살아 있으면 해당 값이 반환되고, 만료되었거나 존재하지 않으면 null이 반환됩니다. 따라서 null이 아닌지 검사하면 쿠키의 유효성을 바로 알 수 있습니다.
2. 삼항 연산자로 한 줄로 처리하는 방법
코드를 더 간결하게 유지하고 싶다면 삼항 연산자(ternary operator)를 활용해 한 줄로 작성할 수도 있습니다.
checkCookie = $.cookie('myCookie') === null ?
( /* 조건이 TRUE일 때 실행 */ ) : ( /* 조건이 FALSE일 때 실행 */ );
참고 사항
위 예제의 $.cookie() 함수는 별도의 jQuery Cookie 플러그인(jquery-cookie 또는 js-cookie 라이브러리 등)이 필요합니다. 순수 JavaScript만으로 구현해야 한다면 document.cookie를 직접 파싱하거나, 최신 표준 API인 cookieStore.get()(CookieStore API)을 사용하는 방법도 좋은 대안입니다. 또한 쿠키의 실제 만료 시점까지 확인해야 한다면 쿠키 생성 시 함께 저장한 만료 정보를 참조하는 로직을 추가하는 것이 안전합니다.