• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 JavaScript, TS 게시판 JavaScript / 입문과 웹 UI개발 lv3, localStorage 숙제

JavaScript / 입문과 웹 UI개발 lv3, localStorage 숙제

4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 글쓴이
  • #31037

    히도리
    참가자

    JavaScript / jQuery 입문과 웹 UI개발

    lv3, 장바구니 기능과 localStorage 숙제 관련 질문입니다.

     

    일단 원본으로 실행은 잘 되는데 궁금한 점이있습니다. 

    아래에 볼드, 기울임 처리된 부분 관련한건데요. 

    원본 --------------------------------------------

            $('.buy').on('click', function(e){
                var title = $(e.target).siblings('h5').html()
           
            if(localStorage.getItem('cart') != null){
             
            var 꺼낸거 = JSON.parse(localStorage.getItem('cart'));
             꺼낸거.push(title);
             localStorage.setItem('cart', JSON.stringify(꺼낸거));
     

            } else {
                localStorage.setItem('cart', JSON.stringify([title]));
            }
       
            })

     

    -----------------------------------

    해당부분을 ,제가 첨에 코드 쓸때 실패한 부분-------

    var 꺼낸거 =  (JSON.parse(localStorage.getItem('cart'))).push(title)

    혹은

            var 꺼낸거 = JSON.parse(localStorage.getItem('cart'));
             var new = 꺼낸거.push(title);
             localStorage.setItem('cart', JSON.stringify(new));

    -------------------------------------

    위처럼 또 변수를 지정해서 하거나, 꺼낸거에 바로 push.(title)로하면 숫자로 찍힙니다. console도 그렇구, 로컬스토리지에서도요  

    제 생각에는.. 변수를 지정하는건 그렇다쳐도..
    바로 push.(title)하는건 크게 달라질게 없을 것 같은데

    왜 다른 결과가 나오는지 궁금합니다.. 

     

    #31049

    codingapple
    키 마스터

    왜냐면 push() 쓰면 push 후 전체 array의 길이를 그자리에 남겨주기 때문입니다 

    그래서 꺼낸거라는 변수는 3 같은 숫자가 출력될걸요 

    #31117

    히도리
    참가자

    넘 간단한걸... 보면서도 이해못해고있었네요....  죄송하고 감사합니다

    #31152

    codingapple
    키 마스터

    저도 방금검색해봐서 알았을 뿐입니다

4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠