็„ก์ œ

JS I/O (Input / Output) ์ž…์ถœ๋ ฅ ๋ณธ๋ฌธ

<script>

JS I/O (Input / Output) ์ž…์ถœ๋ ฅ

yo-u-loo 2026. 5. 26. 10:37

 

๐ŸŸจ JS I/O (Input / Output)

I/O๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์™ธ๋ถ€์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ชจ๋“  ๊ณผ์ •.

 

๐ŸŸฃ Output (์ถœ๋ ฅ)

ํ”„๋กœ๊ทธ๋žจ์ด ์™ธ๋ถ€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ฑฐ๋‚˜ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ.

 

๐Ÿ”น console.log() - ๊ฐœ๋ฐœ์ž์˜ ์˜์›ํ•œ ์นœ๊ตฌ

console.log("์ฝ˜์†”์— ์ถœ๋ ฅ๋˜๋Š” ๋ฉ”์‹œ์ง€์ž…๋‹ˆ๋‹ค.");
console.log(10 + 20); // 30
  • ๋ธŒ๋ผ์šฐ์ €์˜ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ(F12) ์ฝ˜์†”(Console)์— ๋‚ด์šฉ์„ ์ถœ๋ ฅํ•œ๋‹ค.
  • ์‚ฌ์šฉ์ž ํ™”๋ฉด์—๋Š” ๋ณด์ด์ง€ ์•Š์œผ๋ฉฐ, ์ฃผ๋กœ ์ฝ”๋“œ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋””๋ฒ„๊น…(Debugging) ์šฉ๋„๋กœ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.

 

๐Ÿ”น alert() - ๊ฒฝ๊ณ ์ฐฝ ๋„์šฐ๊ธฐ

alert("ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค! ๋กœ๊ทธ์ธ์ด ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.");
  • ๋ธŒ๋ผ์šฐ์ € ์ƒ๋‹จ์— ์•Œ๋ฆผ์ฐฝ์„ ํ‘œ์‹œํ•œ๋‹ค.
  • ์‚ฌ์šฉ์ž๊ฐ€ ํ™•์ธ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅผ ๋•Œ๊นŒ์ง€ ๋‹ค์Œ ์ฝ”๋“œ์˜ ์‹คํ–‰์ด ์ผ์‹œ์ ์œผ๋กœ ์ค‘๋‹จ๋œ๋‹ค.
  • ๊ฐ„๋‹จํ•œ ์•ˆ๋‚ด๋‚˜ ํ…Œ์ŠคํŠธ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์‹ค์ œ ์„œ๋น„์Šค์—์„œ๋Š” ์ž์ฃผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

๐Ÿ”น document.write() - ์›น ๋ฌธ์„œ์— ์ง์ ‘ ์“ฐ๊ธฐ

document.write("์›น ํŽ˜์ด์ง€ ํ™”๋ฉด์— ์ง์ ‘ ๊ธ€์ž๋ฅผ ์”๋‹ˆ๋‹ค.");
  • HTML ๋ฌธ์„œ์— ์ง์ ‘ ๋‚ด์šฉ์„ ์ถœ๋ ฅํ•œ๋‹ค.
  • ํŽ˜์ด์ง€๊ฐ€ ๋ชจ๋‘ ๋กœ๋“œ๋œ ํ›„ ์‹คํ–‰๋˜๋ฉด ๊ธฐ์กด ๋ฌธ์„œ ๋‚ด์šฉ์„ ๋ฎ์–ด์“ธ ์ˆ˜ ์žˆ๋‹ค.
  • ์ฃผ๋กœ ํ•™์Šต์ด๋‚˜ ํ…Œ์ŠคํŠธ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, ์‹ค์ œ ์„œ๋น„์Šค์—์„œ๋Š” ๊ฑฐ์˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.

 


 

๐ŸŸฃ Input (์ž…๋ ฅ)

ํ”„๋กœ๊ทธ๋žจ์ด ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๋Š” ๊ฒƒ.

 

๐Ÿ”น prompt() - ํ…์ŠคํŠธ ์ž…๋ ฅ๋ฐ›๊ธฐ

let name = prompt("์ด๋ฆ„์„ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”.", "ํ™๊ธธ๋™"); 
console.log("๋‹น์‹ ์˜ ์ด๋ฆ„์€ " + name + "์ด๊ตฐ์š”!");
  • ์‚ฌ์šฉ์ž์—๊ฒŒ ์ž…๋ ฅ ์ฐฝ์„ ๋„์›Œ ๊ฐ’์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.
  • ์ž…๋ ฅ๋œ ๊ฐ’์€ ๋ฌธ์ž์—ด(String) ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜๋œ๋‹ค.
  • ์‚ฌ์šฉ์ž๊ฐ€ ์ทจ์†Œ(Cancel) ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด null์ด ๋ฐ˜ํ™˜๋œ๋‹ค.

 

๐Ÿ”น confirm() - ์ฐฌ์„ฑ/๋ฐ˜๋Œ€ ๋ฌผ์–ด๋ณด๊ธฐ

let isDelete = confirm("์ •๋ง๋กœ ์‚ญ์ œํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?");
if (isDelete) {
    console.log("์‚ญ์ œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.");
} else {
    console.log("์ทจ์†Œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.");
}
  • ํ™•์ธ(OK) ๊ณผ ์ทจ์†Œ(Cancel) ๋ฒ„ํŠผ์ด ์žˆ๋Š” ์„ ํƒ ์ฐฝ์„ ๋„์šด๋‹ค.
  • ํ™•์ธ์„ ๋ˆ„๋ฅด๋ฉด true
  • ์ทจ์†Œ๋ฅผ ๋ˆ„๋ฅด๋ฉด false
  • ์ฃผ๋กœ ์กฐ๊ฑด๋ฌธ(if)๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•œ๋‹ค.

 

โ—โ€Š ์ž…์ถœ๋ ฅ ํ™œ์šฉ ์‹œ ์ฃผ์˜์‚ฌํ•ญ โ—โ€Š

  • ์ž๋ฃŒํ˜• ๋ณ€ํ™˜: prompt()๋กœ ์ž…๋ ฅ๋ฐ›์€ ๊ฐ’์€ ํ•ญ์ƒ ๋ฌธ์ž์—ด(String)๋กœ ์ธ์‹๋˜๋ฏ€๋กœ, ์ˆซ์ž ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด Number(), parseInt(), parseFloat() ๋“ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ˆซ์ž(Number)๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•œ๋‹ค.
  • ์‚ฌ์šฉ์ž ๊ฒฝํ—˜(UX): alert(), prompt(), confirm()์€ ๋Œ€ํ™”์ƒ์ž๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ๋™์•ˆ ์‚ฌ์šฉ์ž์˜ ๋‹ค๋ฅธ ์ž‘์—…์„ ๋ง‰๋Š” ๋™๊ธฐ์‹(Synchronous) ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ๊ณผ๋„ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ๋ถˆํŽธํ•จ์„ ๋А๋‚„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์›น ํŽ˜์ด์ง€์˜ ์‚ฌ์šฉ์„ฑ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.
  • ํ˜„๋Œ€์ ์ธ ๋ฐฉ์‹: ์‹ค์ œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” alert(), prompt(), confirm() ๋Œ€์‹  HTML ํผ(Form) ์š”์†Œ์™€ DOM ์กฐ์ž‘์„ ํ™œ์šฉํ•˜์—ฌ ์ž…์ถœ๋ ฅ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.



๐Ÿ“โ€Š POINT ๐Ÿ“โ€Š

โœ”๏ธ ์ถœ๋ ฅ์€ ์ฃผ๋กœ ๊ฐœ๋ฐœ ์ค‘์—” console.log, ์‚ฌ์šฉ์ž ์•Œ๋ฆผ์—” alert ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. โœ”๏ธ

โœ”๏ธ ์ž…๋ ฅ์€ prompt๋กœ ๋ฌธ์ž์—ด์„, confirm์œผ๋กœ ์ฐธ/๊ฑฐ์ง“ ๊ฐ’์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. โœ”๏ธ

โœ”๏ธ ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ณธ ๋Œ€ํ™”์ƒ์ž๋Š” ์‹คํ–‰์„ ์ผ์‹œ ์ •์ง€์‹œํ‚จ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ๋‹ค. โœ”๏ธ