<script> 태그 브라우저에 삽입하기
인라인 스크립트
HTML 내부에 직접 코드 작성
<!DOCTYPE html>
<html>
<body>
<p>스크립트 실행 전</p>
<script>
document.querySelector('div').textContent = 'Hello World';
</script>
<p>스크립트 실행 후</p>
<div></div>
</body>
</html>
- 브라우저는 <script> 태그를 발견하면 즉시 코드를 실행합니다.
- 인라인 스크립트는 간단한 로직에만 사용하고, 복잡한 코드는 외부 파일로 분리합니다.
외부 스크립트
별도의 .js 파일을 로드하여 관리
<!DOCTYPE html>
<html>
<script src="app.js"></script>
<body>
</body>
</html>
//app.js
document.addEventListener('DOMContentLoaded', () => {
console.log('DOM이 완전히 로드되었습니다.');
document.body.style.backgroundColor = '#f0f0f0';
});
- 페이지 로딩 속도 향상 : 브라우저가 외부 파일을 캐시에 저장해 재사용
- 유지보수 향상 : 코드 분리로 효율성 증가
절대 경로와 상대 경로
// 절대 경로
<script src="https://a.coxx/a.js"></script>
// 상대 경로
<script src="./app.js"/</script>
스크립트 작성 가이드
불필요한 속성 생략
HTML4에서는 type과 language 속성이 필수였습니다.
<script type="text/javascript" language="javascript"></script>
하지만 현재 자바스크립트에서는 이런 속성은 불필요해서 생략합니다.
<script>
// type/language 속성 생략 (기본값: text/javascript)
</script>
스크립트 로딩 전략
defer
스크립트를 비동기로 로드하고 DOM이 완전히 파싱된 후에 실행
<script src="script.js" defer>
async
스크립트를 병렬 비동기 로드하고 다운로드 즉시 실행
<script src="script.js" async>
스크립트 태그 주의사항
<script> 태그 동작 특성
src로 불러오는 태그 안에서 내부 코드 무시
// 잘못된 코드
<script src="script.js">
console.log('이 코드는 무시됩니다.');
</script>
// 올바른 코드
<script src="script.js"></script>
<script>
console.log('별도의 태그로 작성');
</script>
CDN 스크립트
외부 스크립트를 CDN 스크립트라고 하는데 이를 안전하게 로드할 수 있도록 Subresource Integrity (SRI)를 이용하여 안전을 보장해야 합니다. SRI는 리소스의 해시 값을 이용하여 리소스의 무결성을 검증합니다.
<script
src="https://example.com/script.js"
integrity="sha384-ExampleHash"
crossorigin="anonymous">
</script>
'JavaScript' 카테고리의 다른 글
[JavaScript] 자료형 (0) | 2025.02.05 |
---|---|
[JavaScript] 변수와 상수 (0) | 2025.02.05 |
[JavaScript] 엄격 모드(Strict Mode) (0) | 2025.02.05 |
[JavaScript] 자바스크립트 코드 구조 (0) | 2025.02.05 |
[JavaScript] JavaScript란 무엇인가? (0) | 2025.02.05 |