๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ป/Javascript

(45) [JavaScript] 1์ผ JavaScript ๊ธฐ์ดˆ

by ๋”ฐ๊ถˆ 2024. 4. 18.

 

 

์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ๋ž€?
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(JavaScript)๋Š” ๊ฐœ์ฒด ๊ธฐ๋ฐ˜์˜ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด
์›น ๋ธŒ๋ผ์šฐ์ € ๋‚ด์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋ฉฐ, ๋‹ค๋ฅธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ๋‚ด์žฅ ๊ฐ์ฒด์—๋„ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š”
๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. 
HTML ๋ฌธ์„œ์— ์ ์šฉ๋  ๋•Œ, ์›น์‚ฌ์ดํŠธ์ƒ์—์„œ `๋™์ ` ์ƒํ˜ธ ์ž‘์šฉ์„ฑ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š”
์™„์ „ํ•œ ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด. 

 

 

 

ํŠน์ง• 

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๊ฐ์ฒด ๊ธฐ๋ฐ˜์˜ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋™์ ์ด๋ฉฐ, ํƒ€์ž…์„ ๋ช…์‹œํ•  ํ•„์š”๊ฐ€ ์—†๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด.
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๊ฐ์ฒด ์ง€ํ–ฅํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๋ชจ๋‘ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. 

์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋ž€?

  • ๊ธฐ์กด์— ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด(์• ํ”Œ๋ฆฌ์ผ€์ด์…˜)๋ฅผ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„๋กœ ์“ฐ์ด๋Š” ์–ธ์–ด 
  • ์ˆ˜์ •์ด ๋นˆ๋ฒˆํ•˜๊ฒŒ ๋ฐœ์ƒํ•˜๋Š” ๋ถ€๋ถ„์€ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ํ•œ ์ค„์”ฉ ์ฝ์–ด ๋ฐ”๋กœ ์‹คํ–‰ํ•˜๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๋ฐฉ์‹์ด ์œ ๋ฆฌํ•˜๋ฏ€๋กœ, ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋Š” ์ด๋Ÿฐ ๋ถ€๋ถ„์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜์˜จ ์–ธ์–ด. 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ตฌํ˜„

  1. ์ฝ”์–ด (ECMAScript) : ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ•ต์‹ฌ๊ธฐ๋Šฅ. ๋ฌธ๋ฒ•,ํƒ€์ž…,์„ ์–ธ๋ฌธ,ํ‚ค์›Œ๋“œ,์˜ˆ์•ฝ์–ด,์—ฐ์‚ฐ์ž,๊ฐ์ฒด ๋“ฑ ์–ธ์–ดใ…ข ์ € ์ˆ˜์ค€์— ํ•ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„. 
  2. ๋ฌธ์„œ ๊ฐ์ฒด ๋ชจ๋ธ(DOM) : XML์„ HTML์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ™•์žฅ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธํ„ฐํŽ˜์ด์Šค. DOM์€ ์ „์ฒดํŽ˜์ด์ง€๋ฅผ ๋…ธ๋“œ ๊ณ„์ธต ๊ตฌ์กฐ๋กœ ๋ณ€ํ™˜ํ•˜๋ฉฐ, HTML ํŽ˜์ด์ง€์˜ ๊ฐ ๋ถ€๋ถ„์€ ๊ฐ๊ธฐ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•˜๋Š” ๋‹ค์–‘ํ•œ ํƒ€์ž…์˜ ๋…ธ๋“œ๋กœ ํ‘œํ˜„ํ•œ๋‹ค.
  3. ๋ธŒ๋ผ์šฐ์ € ๊ฐ์ฒด ๋ชจ๋ธ (BOM) : ๋ธŒ๋ผ์šฐ์ €์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋ฉ”์†Œ๋“œ์™€ ์ธํ„ฐํŽ˜์ด์Šค ์ œ๊ณต. ์›น ๋ธŒ๋ผ์šฐ์ €์™€ ๊ด€๋ จ๋œ ๊ฐ์ฒด์˜ ์ง‘ํ•ฉ. BOM์„ ์ด์šฉํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์— ์ ‘๊ทผํ•˜๊ณ  ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="icon" href="data:;base64,iVBORw0KGgo=">

<script type="text/javascript">
	alert('ํ™˜์˜ ํ•ฉ๋‹ˆ๋‹ค.')
</script>


</head>
<body>


	<h3>script ํƒœ๊ทธ</h3>


</body>
</html>

 

 

 

HTML๋ฌธ์„œ์— JavaScript ์ถ”๊ฐ€

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="icon" href="data:;base64,iVBORw0KGgo=">

<!-- ์™ธ๋ถ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํฌํ•จ -->
<!-- ์ฃผ์˜:์™ธ๋ถ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํฌํ•จํ•œ ๊ฒฝ์šฐ script ํƒœ๊ทธ์— ๋‹ค๋ฅธ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๋Š”๋‹ค. -->
<script type="text/javascript" src="text.js"></script>

<script type="text/javascript">
	var n;

	n = add(10, 20);
	alert(n);
</script>

</head>
<body>

	<h3>์™ธ๋ถ€ javascript ํฌํ•จ</h3>


</body>
</html>

 

 

 

 

JavaScript ๋กœ๊ทธ ์ถœ๋ ฅ

๋ธŒ๋ผ์šฐ์ € ๊ฐœ๋ฐœ์ž ๋„๊ตฌ(F12)์˜ ์ฝ˜์†”์— ๋กœ๊ทธ๋ฅผ ์ถœ๋ ฅํ•˜์—ฌ ๋””๋ฒ„๊น…ํ•  ์ˆ˜ ์žˆ๋Š” Console ๊ฐ์ฒด๋ฅผ ์ œ๊ณตํ•œ๋‹ค. Console ๊ฐ์ฒด๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ๋””๋ฒ„๊น… ์ฝ˜์†”์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. Console ๊ฐ์ฒด๋Š” ๋ชจ๋“  ์ „์—ญ ๊ฐ์ฒด์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="icon" href="data:;base64,iVBORw0KGgo=">

<script type="text/javascript">
var a,b,c;

a=10;
b=5;
c=a+b;
console.log(c);
console.log(a,b,c);

</script>

</head>
<body>

<h3>console ๊ฐ์ฒด</h3>

<div></div>


</body>
</html>