Replies: 4 comments 2 replies
-
|
제가 처음 이 얘기를 꺼냈을 때 그렇기 때문에 함수 선언식으로 설명드리자면 // 함수 선언식
function getTriangleArea (base, height) {
let triangleArea = (base * height) / 2;
return triangleArea;
}해당 함수 처럼 직접적으로 변수를 입력해서 사용하는 방식입니다. |
Beta Was this translation helpful? Give feedback.
-
|
저는 재원님이 이미 말씀해주시는 것처럼 화살표 함수는 외부 this를 참조하기 때문에 컴포넌트에서 this 바인딩을 할 필요도 없어집니다. 참고 자료 |
Beta Was this translation helpful? Give feedback.
-
|
저는 컴포넌트는 선언형 함수, 그 외의 함수들은 화살표 함수를 사용하는 것이 좋을 거 같습니다.
컴포넌트는 보통 최상단에서 정의되고 사용되기 때문에 이 특성이 문제가 되지 않습니다. 또한, 일반 함수도 같이 선언형 함수로 정의한다면 만약 일반 함수를 컴포넌트 밖에 선언하게 될 경우에
3.화살표 함수는 선언형 함수와는 달리 같은 이름의 매개변수를 허용하지 않습니다. |
Beta Was this translation helpful? Give feedback.
-
|
따라서, 일반적으로 아래와 같은 코드에서는 오류가 발생해야 합니다. const IntroPage = () => {
return (
<div>
<MyTest />
</div>
);
};
export default IntroPage;
const MyTest = () => {
return <div>MyTest</div>;
};하지만 위의 코드는 정상적으로 동작합니다. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
프로젝트를 진행하면서
함수 선언식과화살표 함수중 어떤 것을 사용할지 고민되는 경우가 많습니다. 각각의 함수 스타일은 장단점이 있으며, 상황에 따라 적절한 선택이 필요합니다.예를 들어, 컴포넌트는 화살표 함수를 사용하면 간결하고 가독성이 좋으며, this 바인딩 문제도 없어 효율적입니다. 반면, 통신 로직과 같이 복잡한 로직이나 클래스 메서드를 정의할 때는 함수 선언식이 더 적합할 수 있습니다. 이러한 선택은 코드 흐름에 영향을 미칠 수 있기 때문에, 어떤 방식이 더 적합할지 고민해보는 과정이 중요합니다.
이와 같은 고민을 바탕으로 discussion을 생성해봤습니다!
좋은 의견 남겨주시면 좋을 것 같습니다~😁
Beta Was this translation helpful? Give feedback.
All reactions