작성
·
456
0
// 에러 발생함
<script>
(function() {
// [[],[],[]]
console.log(1);
})();
</script>
// 에러 발생 안 함.
<script>
(function() {
// [[][][]]
console.log(1);
})();
</script>
주석에 대괄호 안에 대괄호가 콤마로 구분되면 아래와 같은 에러가 발생합니다
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Thu Sep 19 23:45:15 KST 2024
There was an unexpected error (type=Internal Server Error, status=500).
An error happened during template parsing (template: "class path resource [templates/grid.html]")
org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/grid.html]")
그런데 신기하게도 주석에 대괄호 안에 대괄호가 콤마로 구분되지 않으면
에러가 발생하지 않습니다.
혹시 무슨 이유 때문인지 알 수 있을까요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다, chobo님.
자바스크립트 주석 내의 대괄호와 콤마에 대한 에러는 종종 템플릿 엔진 혹은 특정 프레임워크와 관련된 문제가 발생할 때 나타날 수 있습니다. 주석 내의 특정 문자 조합이 템플릿 파서에서 오작동을 일으킬 수 있습니다. 이런 문제는 특히 주석이 실제 코드로 해석될 때 발생할 수 있습니다.
해결책과 관련된 정보는 아래 링크들을 참고하시기 바랍니다:
템플릿 파서 에러 해결 관련 질문 - 이는 주석 내에서 발생하는 에러와 유사한 문제를 다룹니다.
Unexpected token ‘else’ 발생 관련 질문 - 이 링크에서는 주석이나 코드 내에서 발견되는 특정 구문 오류에 대해 다루고 있습니다.
주석 내의 특정 문자가 어떻게 템플릿 파서와 상호 작용하는지에 대한 이해를 돕기 위해 원인을 간략히 요약하자면:
- 템플릿 엔진의 제한사항: Thymeleaf 같은 템플릿 엔진에서는 특정 문자열을 주석에서 처리하지 못하고 오류를 발생시킬 수 있습니다.
- 주석 파싱 문제: 주석으로 표시된 부분이지만 템플릿 엔진이 해당 내용을 파싱하려고 시도할 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.