EJS(Embedded JavaScript)는 일반 JavaScript를 활용하여 HTML 마크업을 생성할 수 있도록 하는 간단한 템플릿 언어입니다. 이 확장자는 주로 서버 측(server-side)에서 동적 웹 페이지를 생성하기 위해 Node.js 환경에서 널리 사용됩니다. EJS 파일 내부에는 HTML 코드와 JavaScript 코드가 혼합되어 있으며, JavaScript 코드는 특별한 태그 내에 임베드(내장)됩니다. 이러한 특수 태그는 데이터를 삽입하고, 계산을 수행하며, 템플릿 렌더링 흐름을 제어하는 기능을 가능하게 합니다. EJS 파일이 EJS 엔진에 의해 처리될 때, 임베드된 JavaScript 코드가 실행되고 그 결과가 HTML 구조 내에 삽입되어 최종적인 HTML 출력을 만들어냅니다. EJS는 그 단순성과 유연성 덕분에 동적 콘텐츠를 생성하는 직관적인 방법을 찾는 개발자들에게 선호되는 선택입니다. 또한, 부분 템플릿(partial templates) 포함, 사용자 지정 구분 기호(custom delimiters) 정의, 성능 개선을 위한 컴파일된 템플릿 캐싱 등 다양한 고급 기능을 지원합니다. EJS는 웹 애플리케이션 개발 시 Express.js와 같은 Node.js 프레임워크와 함께 자주 활용됩니다.