components 이름은 **Pascal case
**로 작성해라.
pascal case : 첫 단어를 대문자로 시작하는 표기법
Header.js Footer.jsx MainBanner.js BlogList.jsx
Non-components 이름은 **Camel case
**로 작성해라.
Camel case : 띄어쓰기 대신 대문자로 단어를 구분하는 표기 방식
myUtilityFile.js cookieHelper.js fetchApi.js
Unit test 파일명은 대상 파일명과 동일하게 작성해라.
MainBanner.js MainBanner.test.js BlogList.js BlogList.test.js
속성명은 **Camel case
**로 작성해라.
`className <div className=""></div>
onClick, onSubmit <div onClick="{}" onSubmit="{}"></div>`
inline 스타일은 **Camel case
**로 작성해라.
<div style={{ fontSize: "1rem", fontWeight: "700" }}></div>
null
또는 **undefined
**일 수 있는 값은 optional chaining 연산자 (?.)를 사용한다.
obj?.prop obj?.[expr] arr?.[index] func?.(args)
전달된 매개변수가 유효한지 확인하기 위해 guard pattern/prop types/typescript를 사용한다.
side-effects를 피하기 위해 외부 데이터를 props로 받아서 사용한다.
console.log()를 모두 지운다.
props는 읽기 전용으로 사용하며, 직접 수정하지 않는다.