본인이 생각하는 CSS-in-JS의 장점과 단점을 설명해 주세요.
CSS-in-JS는 자바스크립트 코드로 CSS를 작성하는 방식인데, 이 방법을 사용하면 CSS 파일을 유지보수할 필요가 없다. 컴포넌트 레벨로 추상화하기 때문에 단일 파일에서 관리할 수 있다. 해당 DOM에서만 사용할 수 있고 자바스크립트와 CSS 사이에 있는 상수와 함수를 공유할 수 있다는 장점이 있다.
하지만 러닝 커브가 높고 별도의 라이브러리를 설치해야 하기 때문에 번들 크기가 커지고 인터랙션한 페이지의 경우에는 CSS 모듈 방식에 비해 느린 성능을 보여줄 수 있다는 단점이 있다.
성향에 따라 효율성과 컴포넌트 위주의 프로젝트를 진행할 때에는 필요한 부분의 스타일 요소만 렌더링하는 CSS-in-JS가 더 효율적이고, 사용자 편의에 중점을 둔 인터랙티브한 프로젝트라면 CSS 스타일 요소를 로딩하는 방식이 적합하다.