AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

세미콜론 없는 자바스크립트(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(자동 세미콜론 삽입)를 적극 활용하는 것이 권장됨