안녕하세요 저자님.
p.524 쿠키 질문드립니다.
document.cookie = cookieStr; << 이부분이 어렵네요.
책에서 "쿠키들이 document.cookie 프로퍼티에 문자열 형태로 연결되어 있다." 그리고
"새로운 쿠키를 저장하려면 document.cookie에 문자열 형태로 달아주면된다" 로 공부헀습니다.
p.527 예제 12-1에서
처음 접속할때 이름을 묻고 SetCookie 함수 호출하고 나서 방문횟수를 기록할때 또 한번 SetCookie함수를
호출합니다.
그러면 SetCookie 함수에서 document.cookie 값이 덮어씌워질텐데요.
Q. 어떻게 이전값이 문자열로 연결되어 유지되는지 궁금합니다.
코드를 여러번 읽어보고 고민해봤지만 모르겠습니다.
아래 코드에 대해서 설명을 드립니다.
document.cookie = cookieStr;
a = b; 라는 문장은 변수 b의 값을 변수 a에 넣으면 a의이전 값이 사라지는 것이 일반적이지만,
쿠키에 대해서는 자바스크립트 인터프리터가 = 문을 처리할 때 쿠키를 추가하는 것으로 처리하는 것 같습니다.
이것은 자바스크립트의 오래전 버전부터 있어왔던 것입니다.
일관성이 없는 것으로 느껴질텐데
+ 연산자의 경우도
2 + 3 ==> 5로 처리하지만, "2"+3 = "23"으로 처리하는 것처럼
연산자는 피연산자에 따라 다르게 처리되기도 하는데,
아마 자바스크립트 인터프리터도 그렇게 하는 것 같습니다.
조금더 실상을 조사하고 분석하여
이 상황에 대해서 책을 약간 보강해야 할 것 같네요.
좋은 질문 주셔서 감사합니다.