๐Ÿ’กJavaScript

๊น€๊ธฐํ›ˆยท2025๋…„ 7์›” 25์ผ

BaseCamp

๋ชฉ๋ก ๋ณด๊ธฐ
11/13

HTML์€ ์›น ๋ฌธ์„œ์˜ ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“œ๋Š” ๋งˆํฌ์—… ์–ธ์–ด,
CSS๋Š” ์›น ๋ฌธ์„œ๋ฅผ ๋””์ž์ธํ•˜๋Š” ์Šคํƒ€์ผ์‹œํŠธ ์–ธ์–ด์ž…๋‹ˆ๋‹ค.
๊ณผ๊ฑฐ์—๋Š” HTML๊ณผ CSS๋งŒ ๊ฐ€์ง€๊ณ ๋„ ์ •์ ์ธ ์ˆ˜์ค€์˜ ํŽ˜์ด์ง€๋Š” ์–ผ๋งˆ๋“ ์ง€ ๋งŒ๋“ค ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ ํ˜„๋Œ€์˜ ์›น์‚ฌ์ดํŠธ๋Š” ์ •์ ์ด์ง€ ์•Š๊ณ  ์œ ์ €์™€ ๋Š์ž„์—†์ด ์ƒํ˜ธ์ž‘์šฉํ•ฉ๋‹ˆ๋‹ค.
์ด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ๋ฐ”๋กœ JavaScript์ž…๋‹ˆ๋‹ค.

HTML๊ณผ CSS์™€๋Š” ๋‹ฌ๋ฆฌ JavaScript๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”
๋‘ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ๊ฐœ๋…์„ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


1๏ธโƒฃ ๋ณ€์ˆ˜ (Variable)

๋ณ€์ˆ˜๋Š” JavaScript๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ชจ๋“  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ํ•™์Šตํ•  ๋•Œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค.
๋ณ€์ˆ˜๋Š” ์ปดํ“จํ„ฐ์™€ ๊ฐœ๋ฐœ์ž ์‚ฌ์ด์— ์ƒˆ๋กญ๊ฒŒ ๊ทœ์ •ํ•œ ๋ช…์‚ฌ์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ์‚ฌ๋žŒ์—๊ฒŒ ์‚ฌ๊ณผ ์‚ฌ์ง„์„ ๋ณด์—ฌ์ฃผ๊ณ 
์ด ์‚ฌ์ง„์€ ๋ฌด์Šจ ๊ณผ์ผ์ผ๊นŒ์š”?๋ผ๊ณ  ์งˆ๋ฌธํ•œ๋‹ค๋ฉด
์•„๋งˆ ๋Œ€๋‹ค์ˆ˜์˜ ์‚ฌ๋žŒ๋“ค์€ ์‚ฌ๊ณผ๋ผ๋Š” ๋‹ต์„ ํ•˜๋Š” ๋ฐ์— ์–ด๋ ค์›€์ด ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๐ŸŽ

ํ•˜์ง€๋งŒ ์ปดํ“จํ„ฐ๋Š” ์ด ๊ณผ์ผ์„ ์•Œ์•„๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
์ปดํ“จํ„ฐ์™€ ๊ฐœ๋ฐœ์ž ์‚ฌ์ด์— ์ด ๊ณผ์ผ์„ ์‚ฌ๊ณผ๋ผ๊ณ  ๋ถ€๋ฅด๊ฒ ๋‹ค๋Š” ์•ฝ์†์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

let apple = '์‚ฌ๊ณผ';

๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ๋Š” let ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ ,
๊ฐ’์„ ํ• ๋‹นํ•  ๋•Œ๋Š” ํ• ๋‹น ์—ฐ์‚ฐ์ž(=)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. (๊ฐ™๋‹ค๋ผ๋Š” ์˜๋ฏธ X)

๐Ÿ“Œ ์ด ์ฝ”๋“œ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์„ค๋ช…ํ•˜์ž๋ฉด,
๊ฐœ๋ฐœ์ž๊ฐ€ ์ปดํ“จํ„ฐ์—๊ฒŒ ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜ apple์„ ๊ทœ์ •(๋ณ€์ˆ˜ ์„ ์–ธ)ํ•˜๊ณ ,
๋ฌธ์ž์—ด "์‚ฌ๊ณผ"๋ผ๋Š” ๊ฐ’์„ ์„ค๋ช…(๊ฐ’ ํ• ๋‹น)ํ•œ ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.


2๏ธโƒฃ ํ•จ์ˆ˜ (Function)

๋ณ€์ˆ˜๊ฐ€ ๋ช…์‚ฌ๋ฅผ ๊ทœ์ •ํ•˜๋Š” ์ž‘์—…์ด๋ผ๋ฉด,
ํ•จ์ˆ˜๋Š” ๋™์‚ฌ๋ฅผ ๊ทœ์ •ํ•˜๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค.

์•„๋ž˜ ์ฝ”๋“œ๋Š” countLength๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์„œ
๋ฌธ์ž์—ด์˜ ๊ธ€์ž ์ˆ˜๋ฅผ ์„ธ๋Š” ๋™์ž‘์„ ์ •์˜ํ•œ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค.

์œ„ ์ฝ”๋“œ๋Š” ๊ฐœ๋ฐœ์ž์™€ ์ปดํ“จํ„ฐ๊ฐ€ countLength๋ผ๋Š” ๋™์‚ฌ๋ฅผ ์•ฝ์†ํ•œ ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๐Ÿ“˜ ์ž์„ธํ•˜๊ฒŒ ์„ค๋ช…ํ•˜์ž๋ฉด,

  • function ํ‚ค์›Œ๋“œ: ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ํ‚ค์›Œ๋“œ์ž…๋‹ˆ๋‹ค.
  • countLength: ๊ฐœ๋ฐœ์ž์™€ ์ปดํ“จํ„ฐ๊ฐ€ ์•ฝ์†ํ•œ ํ•จ์ˆ˜์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
  • (string): ํ•จ์ˆ˜์—์„œ ์‚ฌ์šฉํ•  ๋ณ€์ˆ˜. ์™ธ๋ถ€์—์„œ ๊ฐ’์„ ์ „๋‹ฌํ•˜๋ฉด string์— ๊ฐ’์ด ํ• ๋‹น๋˜์–ด ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • return ํ‚ค์›Œ๋“œ: ํ•จ์ˆ˜ ๋‚ด๋ถ€์˜ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋œ ํ›„ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜(return)ํ•˜๋Š” ํ‚ค์›Œ๋“œ์ž…๋‹ˆ๋‹ค.
    ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ๋ฐ˜ํ™˜ํ•œ ๊ฐ’์„ ํ•จ์ˆ˜ ์™ธ๋ถ€์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • string.length: ์™ธ๋ถ€์—์„œ ์ „๋‹ฌ๋ฐ›์€ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์ฆ‰, countLength๋Š” ํŠน์ •ํ•œ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅํ•˜๋ฉด,
๊ทธ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ์™ธ๋ถ€๋กœ ๋ฐ˜ํ™˜ํ•ด ์ฃผ๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด,

countLength("์‚ฌ๊ณผ"); // ๊ฒฐ๊ณผ: 2
countLength("๋ฐ”๋‚˜๋‚˜"); // ๊ฒฐ๊ณผ: 3

### ๐Ÿง ์™ธ๋ถ€์—์„œ ํ•จ์ˆ˜ ๋‚ด๋ถ€๋กœ ๊ฐ’์„ ์ „๋‹ฌํ•˜๋Š” ๊ฒฝ์šฐ๋Š”?

ํ•จ์ˆ˜๋Š” ์ด๋ฆ„ ๋’ค์— ()๋ฅผ ๋ถ™์ด๋ฉด ํ˜ธ์ถœ(call)ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  () ์•ˆ์— ๊ฐ’์„ ๋„ฃ์œผ๋ฉด, ๊ทธ ๊ฐ’์€ ํ•จ์ˆ˜ ๋‚ด๋ถ€์˜ ๋งค๊ฐœ๋ณ€์ˆ˜(parameter)์— ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์•„๋ž˜์™€ ๊ฐ™์ด ํ˜ธ์ถœํ•˜๋ฉด,

countLength("์‚ฌ๊ณผ");

๋ฌธ์ž์—ด "์‚ฌ๊ณผ"๊ฐ€ countLength ํ•จ์ˆ˜ ๋‚ด๋ถ€์˜ string ๋งค๊ฐœ๋ณ€์ˆ˜์— ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.
์ด์ œ ํ•จ์ˆ˜ ๋‚ด๋ถ€์˜ ์ฝ”๋“œ๋Š” string = "์‚ฌ๊ณผ"์ธ ์ƒํƒœ๋กœ ํ•œ ๋ฒˆ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ์ ์œผ๋กœ, ์ด ํ•จ์ˆ˜๋Š” ์ž…๋ ฅ๋œ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฏ€๋กœ,
"์‚ฌ๊ณผ"์˜ ๊ธ€์ž ์ˆ˜์ธ 2๊ฐ€ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.

  • console.log()๋Š” console์— ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ

์‹ค์Šต 1. ๊ตฌ๊ตฌ๋‹จ ์ถœ๋ ฅํ•˜๊ธฐ

console.log()๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ตฌ๊ตฌ๋‹จ 2๋‹จ์„ ์ถœ๋ ฅํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”?

์‹ค์Šต 2. ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ๊ตฌ๋‹จ ์ถœ๋ ฅํ•˜๊ธฐ

๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋” ํŽธํ•˜๊ฒŒ ๊ตฌ๊ตฌ๋‹จ์„ ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค๋ฉด, ์ด๋ฒˆ์—๋Š” ํ•จ์ˆ˜๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ์ „๋‹ฌํ•œ ๊ฐ’์— ๋”ฐ๋ผ ๊ทธ ์ˆซ์ž์— ํ•ด๋‹นํ•˜๋Š” ๊ตฌ๊ตฌ๋‹จ์„ ์ถœ๋ ฅํ•˜๋Š” gugudan ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•ด ๋ณด์„ธ์š”. (๋ณ„๋„์˜ return๋ฌธ์„ ์ž‘์„ฑํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.)

profile
์•ˆ๋…•ํ•˜์„ธ์š”.

0๊ฐœ์˜ ๋Œ“๊ธ€