728x90
ASI( Automatic Semicolon nsertion )는 자바 스크립트 프로그램의
세미콜론(;)이 누락된 곳에 엔진이 자동으로 ;을 삽입하는 것이다.
JS는 단 하나의 ;이 없으면 동작을 하지 않기에 꼭 필요하지만
;을 누락해도 동작하는 이유는 ASI 덕분이다.
하지만, for( ; ; )같이 ;이 필수적으로 들어가야하는 부분은 꼭 넣어줘야한다.
ASI의 명세에는 에러 정정 루팅리라 기술되어 있지만구체적으로는 파서 에러이다.
파서에러는 프로그램을 부정확하게/잘못 코딩했기 때문에 나는 것일 뿐, 다른 경우는 없다.
따라서 ASI가 정정했음에도 에러가 발생하면 작성자가 짠 코드에 문제가 있다는 것이다.
이러한 정보를 바탕으로 책의 저자는 이렇게 말한다.
필요하다고 생각되는 곳이라면 어디든지 세미콜론을 사용하고,
ASI가 어떻게든 뭔가 해줄 거라는 가정은 최소화 하자.
ASI는 구문 오류를 정정하는 프로시저이다.
정리하자면,
필요한 곳에는 세미콜론을 사용할 수 있을 만큼 사용해주자!!!!
728x90
'JavaScript > You Don't know JS' 카테고리의 다른 글
I don't know JS YET) 문법 - 함수 인자 (0) | 2022.07.10 |
---|---|
I don't know JS YET) 문법 - 에러 (0) | 2022.07.10 |
I don't know JS YET) 문법 - 연산자 우선순위 (0) | 2022.07.06 |
I don't know JS YET) 문법 - 문과 표현식 (0) | 2022.07.05 |
I don't know JS YET 강제변환 (0) | 2022.04.28 |