본문 바로가기

TIL

TIL#15(비밀번호 검사 및 localStorage 영화 리뷰 삭제 수정)

오늘 한일
  • 비밀번호 검사 및 localStorage 영화 리뷰 삭제 수정

수정 버튼을 눌렀을 때
리뷰 삭제
저장 할 때 처음 입력한 데이터면 맨 뒤에 저장을 수정한 데이터면 지우고 그 자리에 저장을 했다.
리뷰 생성
리뷰 수정
리뷰 삭제

  • 비밀번호를 입력하는 팝업창을 띄우고 받아온 ID값의 배열을 find()를 통해 찾은 후 입력한 비밀번호와 일치하면 수정이나 삭제로 넘어가게 하였다.
  • 삭제에서는 fillter()를 이용해서 선택한 데이터만 삭제하였다.
  • 수정에서는 splice를 이용해 수정한 부분의 데이터를 변경하였다.
  • 리뷰 등록, 수정, 삭제 모두 정상적으로 작동하였다.
어려웠던 점
  • 삭제나 수정을 여러번 반복하고 새로고침을 한 후 수정,  삭제를 해보니 num이 꼬여서 리뷰가 순서대로 출력되지 않거나 선택한 부분이 수정되지 않는 현상이 발생하였다. (num을 새로고침 했을 때와 삭제, 수정을 할 때 초기화 해주어 꼬이지 않게 하였다.)
  • 전역 변수를 많이 사용하여 변수들이 안전하지 않았다. (아직은 closure를 잘 활용하지 못 하지만 더 공부해서 closure를 이용해 전역 변수 사용을 줄여야겠다.)
오늘의 TIP
  • 클로저는 상태(state)가 의도치 않게 변경되지 않도록 안전하게 은닉(information hiding) 하고 특정 함수에게만 상태 변경을 허용하여 상태를 안전하게 변경하고 유지하기 위해 사용한다.
  • java, c 등의 기타 객체지향 언어에서 사용하는 public, private, protected는 접근을 제한 할 수 있는 기능이지만 javascript에서는 제공이 안되므로 별도의 조치를 취하지 않으면 기복적으로 외부 공개가 된다.