if/else 중첩을 피하기 위해 예외 조건은 함수 초입에서 리턴 처리합니다.require)는 사용하지 않으며, ESM(import/export) 표준을 준수합니다.
const를 기본으로 사용합니다. 재할당이 꼭 필요한 경우에만 let을 사용하며, var는 절대 사용하지 않습니다.Promise.then() 체이닝보다 가독성이 좋은 async/await 구문을 사용합니다.===, !==를 사용합니다.camelCase를 사용합니다.
const userData (O) / const UserData (X)// [Bad]
function sum(a, b) { return a + b; }
// [Good]
const sum = (a, b) => a + b;
컴포넌트 명명 (PascalCase): 컴포넌트 파일명과 함수명은 대문자로 시작합니다.
UserProfile.jsx (O) / userProfile.jsx (X)컴포넌트 선언: 함수형 컴포넌트
export default function hello() {
return (
<div>hello</div>
)
}
구조 분해 할당 (Destructuring): props는 파라미터 내부에서 구조 분해하여 받습니다.
Hooks 규칙:
use 접두사를 붙입니다. (예: useAuth)불변성 유지: 상태(State)를 직접 수정하지 않고, setState 함수나 스프레드 연산자(...)를 사용합니다.