[ES6] 01. 기본 js 파일만들어서 alert 띄우기
본문 바로가기

컴퓨터공부/Javascript

[ES6] 01. 기본 js 파일만들어서 alert 띄우기

by Life & study 2023. 5. 22.
반응형

[ES06] 01. 기본 js 파일만들어서 alert 띄우기

 

<!DOCTYPE html>
<html>

<head>
	<title>Parcel Sandbox</title>
	<meta charset="UTF-8" />
</head>

<body>
	<div id="app"></div>

	<script src="src/index.js">
	</script>
</body>

</html>

 

index.js

alert("Hello.script~");

 

결과

 

innerhtml 과 , document.write 의 차이점은 무엇인가?

 

둘 다 JavaScript를 사용하여 HTML 요소를 동적으로 생성하거나 수정하는 데 사용될 수 있지만, 중요한 차이점이 있습니다. 

1. DOM 구성 방식 : `innerHTML`은 HTML 문자열을 가져와서 해당 요소의 내부 HTML 콘텐츠를 새로운 HTML 문자열로 대체합니다. 반면 `document.write`는 스크립트가 실행된 위치에 직접 쓰고, 브라우저가 페이지를 로드하면서 지나간 후 DOM 트리에 추가됩니다.

2. 액세스 방식 : `innerHTML`은 HTML 요소를 반드시 참조하는 변수와 함께 사용해야 하지만 `document.write`는 실행할 코드 라인 뒤에 스크립트 코드를 넣어야 합니다.

3. 안전 문제 : `innerHTML`은 XSS (Cross-Site Scripting) 공격 및 보안 위협으로 이어질 수 있는 기타 보안 문제가 발생할 수 있습니다. `document.write`는 코드가 페이지에 직접 쓰인다는 것을 이해하고 명확히 이해하면 안전합니다.

각각의 경우에 대해 이해하고 적절히 사용하는 것이 중요합니다. `innerHTML`은 동적으로 HTML을 수정하거나 생성하는 데 적합하며, `document.write`는 특히 스크립트가 실행 중인 HTML 문서에서 즉시 HTML을 쓰는 데 적합합니다. 그러나 `document.write`가 더 많은 보안 위협을 야기할 가능성이 있으므로 가능한 한 사용을 지양하는 것이 좋습니다.

 

예시코드 작성

아래의 예시 코드를 보여드리겠습니다.

```
<!DOCTYPE html>
<html>
<head>
<title>innerHTML vs document.write</title>
</head>
<body>
<h1>innerHTML vs document.write</h1>

<div id="demo"></div>

<script>
// innerHTML 사용 예시
document.getElementById("demo").innerHTML = "innerHTML을 사용하여 새로운 문장을 추가합니다.";

// document.write 사용 예시
document.write("document.write를 사용하여 추가문장을 출력합니다.");
</script>
</body>
</html>
```

위의 코드에서는 다음과 같은 작업을 수행합니다.

1. `#demo` 라는 id를 가진 div 요소를 HTML에 추가합니다.
2. innerHTML을 사용하여 `#demo` 요소 내부에 "innerHTML을 사용하여 새로운 문장을 추가합니다."라는 문장을 추가합니다.
3. document.write를 사용하여 "document.write를 사용하여 추가문장을 출력합니다."라는 문장을 HTML 문서 바로 뒤에 추가합니다.

innerHTML은 DOM 요소를 선택한 후 해당 요소 내부의 HTML 콘텐츠를 변경하며, 콘텐츠를 추가하거나 삭제할 수 있습니다. 이를 통해 변경된 HTML은 보존된 원래 HTML을 대체합니다.

반면, document.write()는 현재 페이지에 출력을 추가하거나 있던 내용을 삭제하며 새로운 콘텐츠를 추가합니다. 이것은 웹 페이지의 초기 로드 작업 후에만 사용 가능합니다.

또한, document.write()는 사용자가 페이지를 로드하는 중에 호출될 때 비동기 적으로 호출되므로 예측 불가능한 결과를 초래할 수 있습니다. 이러한 이유로 그리 자주 사용되지 않습니다.

즉, innerHTML은 DOM을 갱신하여 기존 콘텐츠에 새로운 HTML을 추가하고 document.write()는 웹 페이지에 동적으로 HTML 콘텐츠를 추가하는 불안정한 방법입니다.

document.write()

는 현재 페이지에 출력을 추가하거나 있던 내용을 삭제하며 새로운 콘텐츠를 추가합니다. 이것은 웹 페이지의 초기 로드 작업 후에만 사용 가능합니다.

innerHTML

은 DOM 요소를 선택한 후 해당 요소 내부의 HTML 콘텐츠를 변경하며, 콘텐츠를 추가하거나 삭제할 수 있습니다. 이를 통해 변경된 HTML은 보존된 원래 HTML을 대체합니다.

 

#inner #beginner #innerhtml #innertext #innerhtml #innerhmtl #.innertext #innerhtmljs #useinnerhtml #addinnerhtml #setinnerhtml #webengineer

반응형

댓글