JavaScript의 자동 세미콜론 삽입(ASI)은 누락된 세미콜론을 삽입하는 것입니다. 다음 문장은 자동 세미콜론 삽입의 영향을 받습니다 -
empty statement var statement expression statement do-while statement continue statement break statement return statement throw statement
규칙은 다음 사양에 있습니다 -
- 스크립트 또는 모듈이 왼쪽에서 오른쪽으로 구문 분석될 때:문법 생성에 의해 허용되지 않는 토큰이 발견되면 다음 중 하나 이상의 경우에만 문제가 되는 토큰 앞에 세미콜론이 자동으로 삽입됩니다. 조건이 참이 됩니다 -
- 위반 토큰은 }입니다.
- 이전 토큰은 )이고 삽입된 세미콜론은 do-while 문의 종료 세미콜론으로 구문 분석됩니다(13.7.2).
- 토큰 입력 스트림의 끝에 도달하여 파서가 입력 토큰 스트림을 하나의 완전한 ECMAScript 또는 모듈로 구문 분석할 수 없으면 세미콜론이 자동으로 삽입됩니다.
- 일부 문법 생성에서 허용되지만 생성은 제한된 생성이며 토큰은 주석 직후에 터미널 또는 비터미널에 대한 첫 번째 토큰이 됩니다.