TIL/기록
[TIL] delete
developeryeon
2024. 1. 16. 21:09
function deleteReview() {
let reviewId = this.closest("li").id;
let ReviewList = JSON.parse(window.localStorage.getItem(id));
console.log("리뷰 ID: ", reviewId); //리뷰 ID: ID_111
console.log("리뷰 목록:", ReviewList); //리뷰 목록: Object ID_123
...
}
이번에 프로젝트를 하면서 localStorage에서 데이터 지우는 부분을 감을 잡지 못해서 어려웠다.
팀원분의 도움으로 알게된 코드였는데
첫번째줄의 this는 button #deleteReview를 말했고, closest("li")는 현재 엘리먼트에서 가장 가까운 <li> 엘리먼트를 찾아준다.
그리고 .id로 해당하는 <li> element의 id 속성 값을 가져와 reviewId에 담았다.
두번째로 local storage에는 array로 저장이 안되기 때문에 JSON.stringify로 array처럼 생긴 string으로 저장한 후 다시 JSON.parse 이용해 array로 꺼내는 방법을 사용해야했다.
처음엔 stringify만 썼었다가 꺼내올때는 parse를 꼭 써야하는지 몰랐는데 getItem을 쓸 때 JSON.parse로 JSON이 읽을 수 있는 데이터를 자바스크립트객체로 변환해서 가져온다는걸 새롭게 알게되었다.
아직 모르는 부분이 너무 많고, 헷갈리는 부분들도 많은데 코드를 보고 새롭게 알게되는 부분들이 많아서 좋았다.
지금은 내가 아주 높은 산을 바라보고 있는 느낌이 든다..ㅎㅎ