Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

script 태그에 type="text/javascript"를 꼭 포함해야 할까?

결론부터 말하면: HTML5에서는 필수가 아닙니다

HTML5가 도입되면서 여러 개선 사항이 함께 적용되었는데, 그중 하나가 바로 <script> 태그의 type 속성이 선택 사항이 되었다는 점입니다. HTML5와 최신 브라우저 환경에서는 자바스크립트(JavaScript)가 기본 스크립팅 언어로 지정되었기 때문에, 더 이상 text/javascript 값을 명시적으로 작성할 필요가 없습니다.

과거에는 왜 필요했을까?

HTML4나 XHTML 시절에는 브라우저에게 사용 중인 스크립팅 언어가 무엇인지 알려주기 위해 type 속성을 명시하는 것이 권장되었습니다. 당시의 코드는 보통 다음과 같이 작성되곤 했습니다.

<html>
  <body>
    <script language="javascript" type="text/javascript">
      <!--
        document.write("Hello World!")
      //-->
    </script>
  </body>
</html>

위 예제처럼 예전 코드에서는 language 속성과 함께 type="text/javascript"를 지정했고, 심지어 HTML 주석(<!-- -->)으로 스크립트 내용을 감싸서 자바스크립트를 지원하지 않는 구형 브라우저까지 고려하는 모습도 볼 수 있었습니다.

현대적인 작성 방식

오늘날에는 훨씬 간결하게 작성할 수 있습니다.

<script>
  document.write("Hello World!");
</script>

브라우저가 자바스크립트를 기본값으로 인식하기 때문에, 위 코드는 type 속성을 넣은 코드와 정확히 동일하게 동작합니다.

정리

  • HTML5 문서에서는 type="text/javascript"를 생략해도 됩니다.
  • 자바스크립트가 기본 언어이므로 최신 브라우저는 자동으로 이를 인식합니다.
  • 단, ES 모듈을 사용할 때처럼 type="module"과 같은 특수한 타입이 필요한 경우에는 type 속성이 여전히 유용하게 쓰입니다.
  • 레거시 브라우저 지원이 필요한 오래된 프로젝트라면 명시적으로 남겨두는 것도 하나의 방법입니다.