-
카테고리
-
세부 분야
프론트엔드
-
해결 여부
미해결
함수(onClick)이 변한다는 것
20.10.02 14:41 작성 조회수 96
1
function MyComponent1 ({onClick}) {
useEffect(() => {
window.addEventListener('click',()=>{
onClick();
})
}, [onClick])
}
안녕하세요.강의 너무 잘 보고 있습니다.
1. onClick이 함수이고, 함수가 변한다는 건
함수의 코드 로직이
변한다는 거로 이해하면 되는 걸까요?
답변을 작성해보세요.
1
으하핳
질문자2020.10.02
감사합니다! 그러면 함수가 일급객체이고 그렇기에 생성 시마다 매번 다른 reference를 갖기 때문에 서로 다르다 보면 될까요?
연휴 잘 보내세요:)
0
0
이재승
지식공유자2020.10.02
안녕하세요
로직이 변경되지 않아도 함수가 변할 수 있습니다.
변한다는 말이 좀 모호할 수 있는데요
좀 더 자세하게는 함수가 새로 생성되면서 onClick 이라는 값이 변합니다.
아래 코드를 실행해보면 false 가 출력되는데요
onClick 내용이 변경되지는 않았지만 MyComponent 가 호출될 때마다 onClick 이 새로 생성되면서 그 값이 변하게 됩니다
function MyComponent() {
function onClick(){};
return onClick;
}
const f1 = MyComponent();
const f2 = MyComponent();
console.log(f1 === f2);
답변 3