개발자

[Js] 함수 매개변수 전달에 대하여...

2024년 04월 25일조회 77

안녕하세요! 이제 막 1년 좀 넘은 주니어 개발자 입니다. 공부 중에 한 가지 궁금한 점이 생겨서 선생님들께 여쭤보려합니다. js 함수를 작성하는 중에 매개변수로 event를 전달하려 했더니 event에 취소선이 생성됩니다... 예시) - html - <div class='.card'> ... <button id="deleteCard" onclick="deleteCard(event)">삭제</button> </div> - js - function deleteCard(event){ let card = $(event.target).closest('.card').remove(); }; 위와 같이 작성했는데 함수 실행은 되긴 하는데 매개변수 event에 취소선이 생기니 잘못된 것 같아서 여쭤봅니다... 취소선이 생기는 이유와 문제가 된다면 어떤 점에서 문제가 생기는지 개선점은 뭐가 있는지 궁금해서 문의 남깁니다.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

방재호님의 프로필 사진

이벤트 객체는 이벤트가 발생할 시 동적으로 생성됩니다. 따라서 함수를 호출할 때 event인자를 넘겨줄 필욘 없습니당 😁 추가로 올려주신 코드에서 event에 취소선이 생기는 건 해당 변수가 선언되지 않아서 일 듯합니다

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 04월 25일

매개변수명이 "event"인 경우의 취소선은 IDE나 특정 코드 에디터에서 사용되는 경고 기능으로, "event"라는 이름이 전역 객체 window의 이벤트 핸들러와 충돌할 수 있음을 알려주는 것입니다. 전역 변수와 지역 변수가 동일한 이름을 가질 때, JavaScript는 현재 범위에 따라 변수를 참조하기 때문에 혼란스러울 수 있습니다. 따라서 event 대신 다른 이름을 사용하는 것이 좋습니다. 예를 들어: ```javascript function deleteCard(e){ let card = $(e.target).closest('.card').remove(); }; ``` 위 코드처럼 e를 많이 사용하곤 합니다. 해당 문제의 경우 실제 실행에 문제가 되진 않지만, 추후 협업 시 혼동을 줄 수 있거나 유지 보수 단계에서 어려움을 겪을 수 있으므로 가능하다면 개선하는 것이 바람직합니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!