JS-Code Structure

์ด๋ฐ”๋•ยท2024๋…„ 1์›” 19์ผ
0

Javascript ์ด๋ก 

๋ชฉ๋ก ๋ณด๊ธฐ
2/12
post-thumbnail

๐Ÿ“ŒCode Structure๋ž€?

Code Structure๋ž€ ๋ง ๊ทธ๋Œ€๋กœ ์ง์—ญํ•˜๋ฉด ์ฝ”๋“œ๊ตฌ์กฐ๋ผ๋Š” ๋œป์ด๋‹ค.

Javascript์— ์ฃผ์š”ํ•œ ์ฝ”๋“œ ๊ตฌ์กฐ ์š”์†Œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค

1.๋ฌธ(Statement)
2.์„ธ๋ฏธ์ฝœ๋ก (Semicolon)
3.์ฃผ์„(Comment)
4.๋ธ”๋ก(Blocks)
5.ํ•จ์ˆ˜(Functions)


๐Ÿ“1.๋ฌธ (Statment)

๋ฌธ(statement)์€ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‹คํ–‰๋˜๋Š” ๊ฐ๊ฐ์˜ ๋ช…๋ น์–ด๋œปํ•ฉ๋‹ˆ๋‹ค.
๋ฌธ์˜ ์ข…๋ฅ˜์—๋Š” ์กฐ๊ฑด๋ฌธ,๋ฐ˜๋ณต๋ฌธ, ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ,ํ• ๋‹น๋ฌธ ๋“ฑ๋“ฑ... ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์— ๋น ์งˆ์ˆ˜ ์—†๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.

๋ฌธ์€ ์ผ๋ จ์˜ ๋™์ž‘์„ ์ •์˜ํ•˜๊ณ , ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์—์„œ ๋ฌธ์˜ ๋๋งบ์Œ์€ ์„ธ๋ฏธ์ฝœ๋ก ์œผ๋กœ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.


๐Ÿ“2.์„ธ๋ฏธ์ฝœ๋ก  (Semicolon)

์„ธ๋ฏธ์ฝœ๋ก (semicolon)์€ ๊ตฌ๋ฌธ์˜ ์ข…๋ฃŒ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„  ์„ธ๋ฏธ์ฝœ๋ก (;) ํ•„์ˆ˜ ์‚ฌํ•ญ์ด ์•„๋‹ˆ๋ผ๊ณ  ํ•˜๋Š”๋ฐ์š”

alert('Hello')
alert('World')

์ด์™€ ๊ฐ™์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์ค„๋ฐ”๊ฟˆ์ด ์žˆ๋‹ค๋ฉด '์•”์‹œ์ '์œผ๋กœ ์„ธ๋ฏธ์ฝœ๋ก ์ด ์žˆ๋‹ค๊ณ  ํ•ด์„ํ•˜์—ฌ ๋‹ค์Œ ๊ตฌ๋ฌธ์„ ํ•ด์„ํ•ฉ๋‹ˆ๋‹ค.

โ—ํ•˜์ง€๋งŒ, ์ค„๋ฐ”๊ฟˆ์ด 'ํ•ญ์ƒ' ์•”์‹œ์  ์„ธ๋ฏธ์ฝœ๋ก ์œผ๋กœ ํ•ด์„ํ•˜์ง€์•Š๋Š”๋ฐ์š” ๊ทธ ์˜ˆ๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

alert("์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.")

[1, 2].forEach(alert)

์˜ˆ์ œ์— ๋ณด์ด๋Š”๊ฒƒ์ฒ˜๋Ÿผ ์ด ์ฝ”๋“œ๋Š” ์‹คํ–‰ํ–ˆ์„๋•Œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์ด์œ ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋Œ€๊ด„ํ˜ธ ์•ž์—๋Š” ์„ธ๋ฏธ์ฝœ๋ก ์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ง€์•Š๊ธฐ ๋•Œ๋ฌธ์— ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ด์ฒ˜๋Ÿผ ์„ธ๋ฏธ์ฝœ๋ก ์ด ์ž๋™์‚ฝ์ž…์ด ์ผ์–ด๋‚˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ตฌ๋ฌธ์ด ๋๋‚˜๋Š” ๊ฒฝ์šฐ ์„ธ๋ฏธ์ฝœ๋ก ์„ ๋ถ™์—ฌ์ฃผ๋Š”๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋ฌผ๋ก  ์œ„์— ์˜ˆ์ œ๋•Œ๋ฌธ๋งŒ์€ ์•„๋‹ˆ๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ทœ์น™์—์„œ๋„ ๊ถŒ์žฅํ•˜๊ธฐ๋„ ํ•˜๊ณ  ์ฝ”๋“œ์˜ ์•ˆ์ •์„ฑ๊ณผ ๊ฐ€๋…์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด์„œ๋ผ๋„ ๊ตฌ๋ฌธ์ด ๋๋‚˜๋Š” ๋ถ€๋ถ„์€ ์„ธ๋ฏธ์ฝœ๋ก ์œผ๋กœ ๋งˆ๋ฌด๋ฆฌ ํ•ด์ฃผ๋Š”๊ฒŒ ์ข‹์Šต๋‹ˆ๋‹ค.


๐Ÿ“3.์ฃผ์„ (Comment)

์ฃผ์„(Comment)์€ ์ฝ”๋“œ์—์„œ ์‹คํ–‰๋˜์ง€์•Š๊ณ , ์ฝ”๋“œ๋ฅผ ์„ค๋ช…ํ•˜๊ฑฐ๋‚˜ ๋ฉ”๋ชจํ•˜๋Š”๊ฒƒ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํ…์ŠคํŠธ์ž…๋‹ˆ๋‹ค.

๐Ÿ“Ž์ฃผ์„์˜ ์œ ํ˜•์œผ๋กœ๋Š”

1.ํ•œ ์ค„์งœ๋ฆฌ ์ฃผ์„
//์ฃผ์„ ์ฒ˜๋ฆฌํ•  ํ–‰,๋ฌธ์žฅ

2.์—ฌ๋Ÿฌ ์ค„์˜ ์ฃผ์„
/*์ฃผ์„ ์ฒ˜๋ฆฌํ•  ํ–‰, ๋ฌธ์žฅ*/

ํ•œ ์ค„ ์ฃผ์„์€ '//' ์ด ํ›„ ๋’ค์— ๋‚˜์˜ค๋Š” ์ฝ”๋“œ๋“ค์€ ์ „๋ถ€ ์ฃผ์„์ฒ˜๋ฆฌ๊ฐ€ ๋˜๊ธฐ๋•Œ๋ฌธ์— ์•„๋ž˜์™€ ๊ฐ™์ด ์‚ฌ์šฉ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

console.log('Hi') //์ฃผ์„์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๋Š” ์ฝ”๋“œ

์ด ์ฒ˜๋Ÿผ ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์˜ ์ฃผ์„ ์ฒ˜๋ฆฌ๊ฐ€ ์žˆ์ง€๋งŒ ์ฃผ์„์•ˆ์— ์ค‘์ฒฉ์ฃผ์„์€ ์‚ฌ์šฉํ• ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.โŒ

/*
  /* ์ค‘์ฒฉ ์ฃผ์„ ?!? */
*/

๋ฌผ๋ก  ์ค‘์ฒฉ์ฃผ์„์„ ๊ฐ€๋Šฅํ•˜๊ฒŒํ•˜๋Š” VScode extension์ด ์žˆ์ง€๋งŒ ์ €๋Š” ๋น„์ถ”ํ•ฉ๋‹ˆ๋‹น..โŒโŒ

์ด์ฒ˜๋Ÿผ ์ฃผ์„์€ ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์„ ๋†’์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ๋งŽ์ด ์“ฐ์ด์ง€๋งŒ ๋„ˆ๋ฌด ๋‚จ๋ฐœํ•˜๋ฉด ์˜คํžˆ๋ ค ๊ฐ€๋…์„ฑ์„ ํ—ค์น ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ฃผ์˜ํ•ด์•ผ๊ฒ ๋‹ค.

โ—์ฃผ์„์€ ์ฝ”๋“œ๋ฅผ ์„ค๋ช…ํ•˜๊ฑฐ๋‚˜ ๋‹จ์ˆœํžˆ ๋ฉ”๋ชจ๋งŒ ํ•˜๋Š”๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ฝ”๋“œ๋ฅผ ์ž„์‹œ๋กœ ๋น„ํ™œ์„ฑํ™” ์‹œ์ผœ์„œ ๋””๋ฒ„๊น…์‹œ ์œ ์šฉํ•˜๊ฒŒ ์“ธ ์ˆ˜ ์žˆ์Œ.


๐Ÿ“4.๋ธ”๋ก (Blocks)

๋ธ”๋ก(Blocks)์€ ์ค‘๊ด„ํ˜ธ์— ๊ฐ์‹ธ์ง„ ์ฝ”๋“œ์˜ ๊ทธ๋ฃน์„ ๋ธ”๋ก์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ธ”๋ก{}์€ ์ค„๊ด„ํ˜ธ ๋‚ด์— ์—ฌ๋Ÿฌ๋ฌธ์„ ๊ทธ๋ฃนํ™”ํ•˜์—ฌ ์ฝ”๋“œ์˜ ๋ฒ”์œ„๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค

โœ‚ โœ‚ ๋ธ”๋ก์˜ ์˜ˆ์ œ๋Š” ์กฐ๊ฑด๋ฌธ,๋ฐ˜๋ณต๋ฌธ,ํ•จ์ˆ˜,,๋“ฑ๋“ฑ์ด ๋งŽ์ง€๋งŒ ์•„์ง ๋ฐฐ์šฐ์ง€ ์•Š์•„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๊ณ  ๋„˜์–ด๊ฐ€๊ฒ ์Šต๋‹ˆ๋‹ค.


๐Ÿ“5.ํ•จ์ˆ˜ (Functions)

ํ•จ์ˆ˜(Functions)๋Š” ํ•˜๋‚˜์˜ ํŠน๋ณ„ํ•œ ๋ชฉ์ ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์„ค๊ณ„๋œ ๋…๋ฆฝ์ ์ธ ๋ธ”๋ก์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.


function functionName(parameters) {
  // ํ•จ์ˆ˜ ๋ณธ๋ฌธ
  // ์—ฌ๋Ÿฌ ๋ฌธ๊ณผ ํ‘œํ˜„์‹์ด ์—ฌ๊ธฐ์— ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  return result; // ํ•จ์ˆ˜๊ฐ€ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
}

function: ํ•จ์ˆ˜ ์ •์˜ ํ‚ค์›Œ๋“œ์ž…๋‹ˆ๋‹ค.

functionName: ํ•จ์ˆ˜์˜ ์ด๋ฆ„์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ํ•จ์ˆ˜ ์ด๋ฆ„์€ ์‹๋ณ„์ž(identifier)๋กœ, ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

parameters: ํ•จ์ˆ˜๊ฐ€ ๋ฐ›๋Š” ์ž…๋ ฅ ๊ฐ’์ž…๋‹ˆ๋‹ค. ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ์ธ์ž(argument)๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.

ํ•จ์ˆ˜ ๋ณธ๋ฌธ: ์ค‘๊ด„ํ˜ธ {}๋กœ ๋‘˜๋Ÿฌ์‹ธ์ธ ๋ถ€๋ถ„์œผ๋กœ, ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋  ๋•Œ ์ˆ˜ํ–‰๋˜๋Š” ์ฝ”๋“œ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

return: ํ•จ์ˆ˜๊ฐ€ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ‚ค์›Œ๋“œ์ž…๋‹ˆ๋‹ค. ํ•จ์ˆ˜๊ฐ€ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ”—chatGPT ์— ๋‚˜์˜ค๋Š” ์˜ˆ๋ฌธ


โœ‚ โœ‚ ์ด์ƒ ํ•จ์ˆ˜ ๋ถ€๋ถ„๋„ ์•„์ง ๋ฐฐ์šฐ์ง€ ์•Š์•˜๊ธฐ์— ์—ฌ๊ธฐ๊นŒ์ง€ํ•˜๊ณ  ๋งˆ๋ฌด๋ฆฌํ•˜๊ฒ ์ˆฉ๋‹ˆ๋‹ค. โœ‚ โœ‚

๐Ÿ”—์ฐธ๊ณ  ์‚ฌ์ดํŠธ
๐Ÿ“chatGPT
๐Ÿ“Javascript info
๐Ÿ“์—ฌ๋Ÿฌ ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŒ…๊ธ€,,,

profile
ํ”„์—” ํ•จ ํ•ด๋ณด์ž๊ณ ์˜ค

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

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด