B2 : JS ๊ธฐ๋ณธ ๊ฐœ๋…

2025. 8. 5. 14:51ใ†Front-end/JavaScript

๋ฐ˜์‘ํ˜•

๋ชฉ์ฐจ

1. HTML๊ณผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ

2. ์ฝ”๋“œ ๊ตฌ์กฐ

3. ์—„๊ฒฉ ๋ชจ๋“œ


1. HTML๊ณผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ

HTML ๋ฌธ์„œ์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์‚ฌ์šฉํ•˜๊ธฐ

<script> ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ HTML ๋ฌธ์„œ์— ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค.

<!DOCTYPE HTML>
<html>
	<body>
    	<p>์–ด์ฉŒ๊ตฌ์ €์ฉŒ๊ตฌ</p>
        <script>
        	alert('Hello, world!');
        </script>
        <p>์–ด์ฉŒ๊ตฌ์ €์ฉŒ๊ตฌ</p>
    </body>
</html>

 

์™ธ๋ถ€ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ฒฝ์šฐ, src ์†์„ฑ์œผ๋กœ ์ฐธ์กฐํ•˜์—ฌ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜๋„ ์žˆ๋‹ค.

<script src="/path/script.js"></script>

<script src="https://cdnjs.cloudflare.com/script.js/>

 

 

<script> ํƒœ๊ทธ์˜ ์†์„ฑ (์š”์ฆ˜์—” ๊ฑฐ์˜ ์•ˆ์”€)

1. type

<script type="text/javascript">

HTML4์—์„œ ์Šคํฌ๋ฆฝํŠธ์— type์„ ๋ช…์‹œํ•˜๋Š” ๊ฒŒ ํ•„์ˆ˜์˜€์œผ๋‚˜, ์ด์ œ๋Š” ํƒ€์ž… ๋ช…์‹œ๊ฐ€ ํ•„์ˆ˜๊ฐ€ ์•„๋‹ˆ๋‹ค.

 

2. language

<script language="...">

ํ˜„์žฌ ์‚ฌ์šฉํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์†์„ฑ์œผ๋กœ, ์ง€๊ธˆ์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๊ธฐ๋ณธ ์–ธ์–ด์—ฌ์„œ ์‚ฌ์šฉํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.


2. ์ฝ”๋“œ ๊ตฌ์กฐ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ฝ”๋“œ ๋ธ”๋ก ๊ตฌ์„ฑ ์š”์†Œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  • ๋ฌธ(statement)
    • ๋ฌธ๋ฒ• ๊ตฌ์กฐ์™€ ๋ช…๋ น์–ด
  • ์„ธ๋ฏธ์ฝœ๋ก  (semicolon)
    • ํ•˜๋‚˜์˜ ๋ฌธ์„ ๋๋‚ผ ๋•Œ๋งˆ๋‹ค ์ž‘์„ฑํ•œ๋‹ค.
  • ์ฃผ์„ (comment)
    • ์Šคํฌ๋ฆฝํŠธ์˜ ์–ด๋А ๊ณณ์—๋‚˜ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ํ•œ์ค„ ์ฃผ์„์€ ( // )๋กœ ์‹œ์ž‘๋˜๋ฉฐ, ์—ฌ๋Ÿฌ ์ค„์˜ ์ฃผ์„์€ ( /* ... */ ) ์•ˆ์— ๋„ฃ์–ด์„œ ์ž‘์„ฑํ•œ๋‹ค.
    • ์ฝ”๋“œ์— ์˜ํ–ฅ ์—†์ด ์ฝ”๋“œ์— ๋Œ€ํ•œ ์„ค๋ช… ๋“ฑ์„ ์ž‘์„ฑํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

3. ์—„๊ฒฉ ๋ชจ๋“œ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์˜ค๋žซ๋™์•ˆ ๊ธฐ์กด ๊ธฐ๋Šฅ์˜ ๋ณ€๊ฒฝ ์—†์ด ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ๋‹ค.

ํ•˜์ง€๋งŒ ECMAScript5(ES5)์—์„œ ๊ธฐ์กด ๊ธฐ๋Šฅ์˜ ๋ณ€๊ฒฝ์ด ์žˆ์—ˆ๊ณ , ๊ทธ๋กœ ์ธํ•œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.

๊ทธ๋ž˜์„œ ES5 ์ด์ „์˜ ๋ฌธ์ œ ์žˆ๋Š” ๊ธฐ๋Šฅ๋“ค์ด ES5์˜ ๊ธฐ๋ณธ ๋ชจ๋“œ์—์„œ ํ™œ์„ฑํ™” ๋˜์ง€ ์•Š๋„๋ก,

use strict ์ง€์‹œ์ž๋กœ ์—„๊ฒฉ ๋ชจ๋“œ(strict mode)๋ฅผ ํ™œ์„ฑํ™”ํ–ˆ์„ ๋•Œ๋งŒ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ํ™œ์„ฑํ™”๋˜๋„๋ก ํ•˜์˜€๋‹ค.

"use strict";

...
// ์ด ์ฝ”๋“œ๋Š” ๋ชจ๋˜ํ•œ ๋ฐฉ์‹์œผ๋กœ ์‹คํ–‰

 

strict mode์—์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ES5 ์ด์ „์— ํ—ˆ์šฉ๋˜๋˜ ๋ฌธ์ œ ์žˆ๋Š” ๊ธฐ๋Šฅ๋“ค์ด ์ œํ•œ๋œ๋‹ค.

์ œํ•œ ์‚ฌํ•ญ ์„ค๋ช…
์•”๋ฌต์  ๋ณ€์ˆ˜ ์„ ์–ธ ๊ธˆ์ง€  x =10 ๊ฐ™์ด ์„ ์–ธ ์—†์ด ๋ณ€์ˆ˜ ์ƒ์„ฑ ๋ถˆ๊ฐ€
this์˜ ์•”๋ฌต์  ์ „์—ญ ๊ฐ์ฒด ๋ฐ”์ธ๋”ฉ ๊ธˆ์ง€ ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ this๊ฐ€ window๊ฐ€ ์•„๋‹Œ undefined๊ฐ€ ๋จ
์ค‘๋ณต ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ธˆ์ง€ function fn(a, a) { ... } ๊ฐ™์ด ์ค‘๋ณต ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ถˆ๊ฐ€
์‚ญ์ œ ๊ธˆ์ง€ delete Object prototype ๊ฐ™์€ ๋ถˆ๊ฐ€๋Šฅํ•œ ์‚ญ์ œ ๋ถˆ๊ฐ€
์ฝ๊ธฐ ์ „์šฉ ์†์„ฑ์— ๊ฐ’ ๋Œ€์ž… ์‹œ ์—๋Ÿฌ NaN = 123 ๋ถˆ๊ฐ€๋Šฅ
์˜ˆ์•ฝ์–ด ์‚ฌ์šฉ ์ œํ•œ implements, interface, let, package ๋“ฑ ์‚ฌ์šฉ ๊ธˆ์ง€
with ๋ฌธ ์‚ฌ์šฉ ๊ธˆ์ง€ ๊ตฌ์กฐ๊ฐ€ ๋ชจํ˜ธํ•ด์„œ ๊ธˆ์ง€๋จ

 

 

 

 

 

 

์ฐธ๊ณ 

 

๋ฐ˜์‘ํ˜•