세미콜론 없는 자바스크립트(ASI)의 경우
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
자바스크립트 개발자 및 버전 관리 도구 사용자 (중간~고급 수준)
핵심 요약
- 세미콜론은 버전 관리 기록에서 잘못된 변경사항을 기록할 수 있다.
sub()
메서드에 대한 변경이 잘못add()
메서드로 귀인되는 문제 발생- 빌더 패턴 및 함수형 프로그래밍과 호환성이 떨어진다.
.map().filter()
체인에서 세미콜론 누락 시 잘못된 디프 발생- ASI(자동 세미콜론 삽입)는 코드 유지보수 및 버전 관리 편의성을 높인다.
MyBasicMath
클래스 예제에서.add(3)
추가 시 디프 축소 효과
섹션별 세부 요약
1. 세미콜론 사용의 단점
- 경험 많은 개발자들은 세미콜론을 사용해 버그 발생 가능성 감소와 포맷터(예: Prettier)의 의도 파악 용이성을 강조
- 반대 의견은 "라인트가 오류를 잡을 수 있다", "타이핑 속도 향상", "코드 시각적 개선" 등이다
2. 버전 관리 기록과 디프의 문제
- 좋은 커밋 기록은 명확한 설명, 소유자, blame 기능을 통해 코드 변경 이력 분석 가능
- 세미콜론 사용 시
.sub(1)
을.add(3)
으로 수정하면 이전 줄(.sub(1)
)도 디프에 포함되어 혼란 유발
3. 빌더 패턴 예제
MyBasicMath
클래스의add()
/sub()
메서드 체인에서 세미콜론 누락 시sub()
에 대한 변경이add()
로 잘못 귀인되는 디프 오류 발생- 세미콜론 없는 경우:
.add(3)
추가 시 디프에서 오직 변경 줄만 포함
4. 함수형 프로그래밍 예제
map().filter()
체인에서 세미콜론 누락 시.filter()
줄이 중복으로 디프에 표시되어 실제 변경사항(.map()
)을 오인할 수 있음const myData = [...]
예제에서.map((value) => value + 1)
추가 시 디프가 혼란스러워짐
결론
- 세미콜론을 생략하고 ASI를 사용하는 것이 버전 관리 기록의 정확성과 디프의 명확성을 높인다.
- 빌더 패턴/함수형 프로그래밍에서 디프 오류를 방지하고, 커밋 기록의 신뢰도를 유지할 수 있음
- 코드 유지보수를 위한 ASi(자동 세미콜론 삽입)를 적극 활용하는 것이 권장됨