인프런 커뮤니티 질문&답변

서주님의 프로필 이미지
서주

작성한 질문수

자바스크립트 : 기초부터 실전까지 올인원

아이템 필터링하기

todolist filter함수 이해가 안가요ㅜㅜ도와주세요..

작성

·

299

0

여기에 filter에 (event)를 가지고 온것은 이해가 가는데!
 
 
 
뭔가 if(e)라는걸 왜 하는건지 이해가 잘 안가네요..
기존 코드에 없던건데
if(e)가 있어야..앱이 기능이 되더라구요..
ㅜㅜ왜 넣어야하는건지..
무슨의미인건지 궁금해요!
 
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

답변 2

1

안녕하세요 

 

제강의를 좋아해주시니 제가 더 뿌듯하고 기분이 좋네요!

 

제가 주어진 코드만 보고서 가능하다 말씀드렸는데 

말씀해주신것처럼 체크나 삭제버튼을 누를때에는 event전달을 안해줘서 if를 조건문으로 뒀습니다 

말씀해주신게 맞습니다 

 

그리고 event를 보낼 수 있습니다 

<button onclick="toggleDone(event,'${list[i].id}')"><i class="fa fa-check"></i></button>
 
이런식으로 매개변수에 event를 넣어주시면 됩니다
 
아 그리고 제가 제 질문받는 슬랙채널이 따로있습니다
 
https://join.slack.com/t/w1631756876-zfv299364/shared_invite/zt-w5yxap8g-~_Exi5lOwfw_N6a1T5djmg
 
급할때 여기로 질문주시면 제가 더 빠르게 답장해 드릴 수 있습니다!
 
그리고 현재 react 강의 준비중입니다! (3월 출시예정)

그럼 조금만 기다려주세요!  

 
좋은질문 감사드립니다!
 
코딩알려주는 누나 드림

1

안녕하세요!

if(e)는 클릭 이벤트를 할때 이벤트를 잘 전달받았는지 확인하는 곳입니다

사실 click을 하면 자동으로 항상 이벤트가 전달이 되기 떄문에 

저 코드가 없어도 동작합니다! 

if(e)지우고 하셔도 됩니다 

 

서주님의 프로필 이미지
서주
질문자

쌤!! 제가 답변을 받고 곰곰히 생각했는데,

초기에 리스트 추가만 하고 거기서 삭제랑 했음 버튼을 누르면 탭관련 이벤트가 들어갈 일이 없더라구요.

console.log로 확인해보니

리스트 추가 후에

했음 버튼  이랑 삭제 버튼을 누를때

filter 함수가 실행되고.

그때는 filter함수는 실행되지만

event값이 없음 //

event 값은 (div) 을 누를 시에만 적용됨.

 

그래서  if(event) 하지 않을 시에,

mode = event.target.id; 또한 실행해야 하는데  event 값이 없으니

 target 값이 안잡히는것 같고

오류가 뜹니다!

 

if(e) 이부분은 꼭 필요한거 같다고 생각했는데.. 혹시 잘 이해 한것이 맞을까요..?

 

호호오오옥시

삭제나,  리스트 체크(했음버튼) 버튼을 누를때

filter에 event를  전달 해 줄 방법이 없을까요?ㅠㅠ..

 

그리고 쌤 !!!! 강의가 너무재밋어요 ㅎㅎㅎ

제가 작년에 자바스크립트 공부를 실패하고

다시 유툽에서 쌤강의를 우연히 보고 이해가 갑자기 되는거에요???!

그래서 용기내어 재 도전하는 중인데,

정말 쌤강의는 비전공자인 저에게 알아듣기쉽게 쏙쏙 박히는 강의에요!

 

 

이거 다 들으면 추후에 다른 강의로도또 뵙고싶은데 많이많이 강의 만들어 주세요!!!! 

다른 자바스크립트나 리액트 강의도 쌤꺼로 듣고싶어요!  추후 계획도 있으신가요!?!?

 

서주님의 프로필 이미지
서주

작성한 질문수

질문하기