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이 읽을 수 있는 데이터를 자바스크립트객체로 변환해서 가져온다는걸 새롭게 알게되었다.

 

 

아직 모르는 부분이 너무 많고,  헷갈리는 부분들도 많은데 코드를 보고 새롭게 알게되는 부분들이 많아서 좋았다. 

지금은 내가 아주 높은 산을 바라보고 있는 느낌이 든다..ㅎㅎ