은 } 앞, 하나 이상의 줄 바꿈 뒤, 프로그램 입력 끝에만
삽입됩니다.즉, 줄 끝, 코드 블록, 프로그램 끝에서만 세미콜론을 생략할 수 있다는 의미입니다.
즉, 다음 코드를 작성할 수 있습니다
후속 입력 태그를 구문 분석할 수 없는 경우에만
삽입즉, 세미콜론 삽입은 오류 수정 메커니즘입니다. 코드를 보고 이야기해보세요
a=b
에프()
//두 개의 독립적인 문으로 구문 분석됨
a = bf();//분석 오류
그래서 법적으로 세미콜론을 생략할 수 있는지 판단하려면 다음 문장의 시작 부분에 주의를 기울여야 합니다.
(, [, , - 및 / 이 5개의 문자가 문을 시작하므로 앞에 세미콜론을 생략하지 않는 것이 가장 좋습니다.
예를 들어주세요
그래서 이 5개의 문자(, [, , -, / )로 시작하는 문장의 경우 앞에 세미콜론을 생략하지 않는 것이 가장 좋습니다.
세미콜론을 생략하려는 경우 숙련된 프로그래머는 이 명령문 뒤에 선언문을 추가하여 파서가 이를 올바르게 구문 분석하는지 확인합니다. 아래와 같이
세미콜론을 생략하면 스크립트 연결 문제가 발생합니다
//file2.js
(함수 () {
//......
})()
위 두 파일을 연결하면 다음과 같이 파싱됩니다
따라서 세미콜론을 생략하려면 현재 파일의 다음 토큰뿐만 아니라 스크립트가 연결된 후 명령문 뒤에 나타날 수 있는 토큰도 주의해야 합니다.
파서 구문 분석 오류를 방지하려면 각 파일 앞에 세미콜론을 추가하여 부주의한 연결로부터 스크립트를 보호할 수 있습니다. 파일의 첫 번째 문이 위에서 언급한 5개의 취약한 문자로 열리는 경우 세미콜론 접두사를 추가해야 합니다.
JavaScript 구문으로 인해 제작이 제한됩니다
JavaScript 구문은 제작을 제한합니다. 두 문자 사이에는 줄 바꿈이 허용되지 않습니다.
예:
자동 증가 및 자동 감소 연산을 위한 세미콜론 삽입 규칙
빈 for 루프 문 앞에 구분 기호로 세미콜론이 자동으로 삽입되지 않습니다
빈 루프 본문의 while에도 세미콜론을 표시해야 합니다. 그렇지 않으면 구문 분석 오류가 발생합니다
요약하자면
1. 세미콜론은 } 표시 앞, 줄 끝, 프로그램 끝에서만 추론됩니다.
2. 세미콜론
은 다음 태그를 파싱할 수 없는 경우에만 추론됩니다.
3. (, [, , -, / 문자로 시작하는 문 앞에 세미콜론
을 생략하면 안 됩니다.
4. 스크립트 연결 시 스크립트 사이에 세미콜론
을 명시적으로 삽입하세요.
5. return, throw, break, continue 또는 --
매개변수 앞에는 줄을 끊지 마세요.
6. 세미콜론은 for 루프의 선두나 빈 문의 구분자로 추론할 수 없습니다.