All :L

Web(Front) - JavaScript ๊ฐ์ฒด ๋ณธ๋ฌธ

STUDY/Front End

Web(Front) - JavaScript ๊ฐ์ฒด

ofijwe 2024. 8. 28. 09:04
๋ฐ˜์‘ํ˜•

๐Ÿ“’ JavaScript ๊ฐ์ฒด

1๏ธโƒฃ ๊ฐ์ฒด

  • ์ด๋ฆ„๊ณผ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ ํ”„๋กœํผํ‹ฐ์˜ ์ง‘ํ•ฉ
  • ๋ฌธ์ž์—ด, ์ˆซ์ž, boolean, null, undefined๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ๊ฐ’
  • js ๊ฐ์ฒด : ํ‚ค์™€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ ํ”„๋กœํผํ‹ฐ๋“ค์˜ ์ง‘ํ•ฉ
  • ์ „์—ญ ๊ฐ์ฒด๋ฅผ ์ œ์™ธํ•œ js ๊ฐ์ฒด๋Š” ํ”„๋กœํผํ‹ฐ๋ฅผ ๋™์ ์œผ๋กœ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œ๊ฐ€๋Šฅ
  • ํ•จ์ˆ˜๋Š” ์ผ๊ธ‰ ๊ฐ์ฒด์ด๋ฏ€๋กœ ๊ฐ’์œผ๋กœ ์‚ฌ์šฉ X → ํ”„๋กœํผํ‹ฐ์˜ ๊ฐ’์œผ๋กœ ํ•จ์ˆ˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • ํ”„๋กœํ† ํƒ€์ž…์ด๋ผ๋Š” ํŠน๋ณ„ํ•œ ํ”„๋กœํผํ‹ฐ ํฌํ•จ

2๏ธโƒฃ ๊ฐ์ฒด ์ƒ์„ฑ

  • ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด
    • ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•
    • {}๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ์ฒด ์ƒ์„ฑ
    • {}๋‚ด์— 1๊ฐœ ์ด์ƒ์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ถ”๊ฐ€ํ•ด ๊ฐ์ฒด ์ƒ์„ฑ
    • ์‚ฌ์šฉ ๋ฐฉ๋ฒ•
      • var obj = {};
  • Object ์ƒ์„ฑ์ž ํ•จ์ˆ˜
    • new ์—ฐ์‚ฐ์ž์™€ Object ์ƒ์„ฑ์ž ํ•จ์ˆ˜ ํ˜ธ์ถœํ•ด ๋นˆ ๊ฐ์ฒด ์ƒ์„ฑ
    • ๋นˆ ๊ฐ์ฒด ์ƒ์„ฑ ํ›„ ํ”„๋กœํผํ‹ฐ or ๋ฉ”์†Œ๋“œ ์ถ”๊ฐ€ํ•ด ๊ฐ์ฒด ์™„์„ฑ
    • ์‚ฌ์šฉ ๋ฐฉ๋ฒ•
      • var obj = new Object();
  • ์ƒ์„ฑ์ž ํ•จ์ˆ˜
    • ๋™์ผํ•œ ํ”„๋กœํผํ‹ฐ๋ฅผ ๊ฐ–๋Š” ๊ฐ์ฒด ์ƒ์„ฑ ์‹œ
      • ์œ„ ๋‘ ๋ฐฉ๋ฒ•์€ ๋™์ผํ•œ ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ์ž‘์„ฑ
    • ์ƒ์„ฑ์ž ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜๋ฉด ํ…œํ”Œ๋ฆฟ(ํด๋ž˜์Šค)์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•ด ํ”„๋กœํผํ‹ฐ๊ฐ€ ๋™์ผํ•œ ๊ฐ์ฒด ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ๊ฐ„๋‹จํžˆ ์ƒ์„ฑ ๊ฐ€๋Šฅ
    • ์‚ฌ์šฉ ๋ฐฉ๋ฒ•
      • ํ•จ์ˆ˜ ์ด๋ฆ„์˜ ์ฒซ ๋ฌธ์ž ๋Œ€๋ฌธ์ž
      • ๋ฐ˜๋“œ์‹œ new ์—ฐ์‚ฐ์ž๋ฅผ ๋ถ™์—ฌ ์‹คํ–‰
    • ํ˜ธ์ถœ ์‹œ ๋™์ž‘ ์ˆœ์„œ
      • ๋นˆ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด this์— ํ• ๋‹น
      • ํ•จ์ˆ˜ ๋ณธ๋ฌธ ์‹คํ–‰
      • this์— ์ƒˆ๋กœ์šด ํ”„๋กœํผํ‹ฐ ์ถ”๊ฐ€ํ•ด this ์ˆ˜์ •
      • this ๋ฐ˜ํ™˜(default)

3๏ธโƒฃ ๊ฐ์ฒด ์†์„ฑ ๊ฐ’ ์กฐํšŒ

  • ๊ฐ์ฒด๋Š” dot(.)์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๋Œ€๊ด„ํ˜ธ([])๋ฅผ ์‚ฌ์šฉํ•ด ์†์„ฑ ๊ฐ’์— ์ ‘๊ทผ
  • ๋Œ€๊ด„ํ˜ธ ๋‚ด์— ๋“ค์–ด๊ฐ€๋Š” ํ”„๋กœํผํ‹ฐ ์ด๋ฆ„์€ ๋ฐ˜๋“œ์‹œ ๋ฌธ์ž์—ด์ด์–ด์•ผ ํ•จ
  • ๊ฐ์ฒด์— ์—†๋Š” ์†์„ฑ์— ์ ‘๊ทผ ์‹œ undefined ๋ฐ˜ํ™˜
  • ๊ฐ์ฒด ์†์„ฑ ๊ฐ’ ์กฐํšŒ ํ•  ๋•Œ || ์—ฐ์‚ฐ์ž ์‚ฌ์šฉ ๊ฐ€๋Šฅ

4๏ธโƒฃ ๊ฐ์ฒด ์†์„ฑ ๊ฐ’ ๋ณ€๊ฒฝ, ์ถ”๊ฐ€, ์ œ๊ฑฐ

  • ์†์„ฑ ๊ฐ’ ๋ณ€๊ฒฝ ์‹œ dot(.)์ด๋‚˜ ๋Œ€๊ด„ํ˜ธ([]) ์‚ฌ์šฉ
  • ๊ฐ์ฒด์— ๊ฐ’ ํ• ๋‹นํ•˜๋Š” ์†์„ฑ์ด ์—†์„ ๊ฒฝ์šฐ, ํ•ด๋‹น ์†์„ฑ์ด ์ถ”๊ฐ€๋จ
  • delete ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉํ•ด ์†์„ฑ ์ œ๊ฑฐ

5๏ธโƒฃ ๊ฐ์ฒด ์ฐธ์กฐ

  • ๊ฐ์ฒด๋Š” ๋ณต์‚ฌ๋˜์ง€ ์•Š๊ณ  ์ฐธ์กฐ๋จ.
  • JS์—์„œ ์›์‹œ(Primitive) ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ์•„๋‹Œ ๋ชจ๋“  ๊ฐ’์€ ์ฐธ์กฐ ํƒ€์ž…
  • ์ฐธ์กฐ ํƒ€์ž…์€ Object, Array, Date, Error ํฌํ•จ
  • ํƒ€์ž… ํ™•์ธ ๋ฐฉ๋ฒ• : typeof → null์€ ์›์‹œ ํƒ€์ž…. but, typeof ์—ฐ์‚ฐ์ž์—์„œ object๋ฅผ ๋ฐ˜ํ™˜

6๏ธโƒฃ ๊ฐ์ฒด ๋ถ„๋ฅ˜

  • Object
    • Built-in Object
      • Standard Built-in Object
      • Native Object
        • BOM (Browser Object Model)
        • DOM (Document Object Model)
    • Host Object(์‚ฌ์šฉ์ž ์ •์˜)

7๏ธโƒฃ ํ•จ์ˆ˜ ์„ ์–ธ, ํ˜ธ์ถœ

  • JS์—์„œ ํ•จ์ˆ˜๋Š” ์ผ๊ธ‰(first-class) ๊ฐ์ฒด
  • ํ•จ์ˆ˜๋ฅผ ๋ณ€์ˆ˜, ๊ฐ์ฒด, ๋ฐฐ์—ด ๋“ฑ์— ์ €์žฅ ๊ฐ€๋Šฅ
  • ๋‹ค๋ฅธ ํ•จ์ˆ˜์— ์ „๋‹ฌํ•˜๋Š” ์ „๋‹ฌ ์ธ์ž(์ฝœ๋ฐฑํ•จ์ˆ˜) or ๋ฆฌํ„ด ๊ฐ’์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘ ๋™์  ์ƒ์„ฑ ๊ฐ€๋Šฅ
  • ํ•จ์ˆ˜ ์ •์˜ ๋ฐฉ๋ฒ• 3๊ฐ€์ง€
    • ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ
    • function sum1(num) { var sum = 0; for(var i = 1; i <= N; i++) { sum += i; } console.log(sum); // 5 } sum1(10);
    • ํ•จ์ˆ˜ ํ‘œํ˜„์‹(๋ฆฌํ„ฐ๋Ÿด)
    • var sum2 = function (N) { var sum = 0; for(var i = 1; i <= N; i++) { sum += i; } console.log(sum) // 55 }; sum2(10);
    • Function ์ƒ์„ฑ์ž(constructor) ํ•จ์ˆ˜
    • var sum3 = new Function( "num", "var sum = 0;" + "for(var i = 1; i <= N; i++ {" + " sum += i;" + "} " + "console.log(sum);" ); sum3(10);

8๏ธโƒฃ ํ•จ์ˆ˜ ํ˜ธ์ด์ŠคํŒ…

  • ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ์˜ ๊ฒฝ์šฐ ํ•จ์ˆ˜ ์„ ์–ธ ์œ„์น˜ ์ƒ๊ด€์—†์ด ์ฝ”๋“œ ๋‚ด ์–ด๋Š ๊ณณ์—์„œ๋“ ์ง€ ํ˜ธ์ถœ ๊ฐ€๋Šฅ
  • JS ๋ชจ๋“  ์„ ์–ธ (var, function)์„ ํ˜ธ์ด์ŠคํŒ…(Hoisting)
  • ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ์œผ๋กœ ์ •์˜๋œ ํ•จ์ˆ˜๋Š” JS ์—”์ง„ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋กœ๋”ฉ๋˜๋Š” ์‹œ์ ์— ์ด๋ฅผ ๋ณ€์ˆ˜๊ฐ์ฒด์— ์ €์žฅ
  • ํ•จ์ˆ˜ ์„ ์–ธ, ์ดˆ๊ธฐํ™”, ํ• ๋‹น์ด ํ•œ ๋ฒˆ์— ์ด๋ฃจ์–ด์ง.
  • ํ•จ์ˆ˜ ํ‘œํ˜„์‹์˜ ๊ฒฝ์šฐ ํ•จ์ˆ˜ ํ˜ธ์ด์ŠคํŒ…์ด ์•„๋‹Œ ๋ณ€์ˆ˜ ํ˜ธ์ด์ŠคํŒ… ๋ฐœ์ƒ

9๏ธโƒฃ ํ•จ์ˆ˜ ๋งค๊ฐœ๋ณ€์ˆ˜

  • ๋งค๊ฐœ๋ณ€์ˆ˜(parameter) : ํ•จ์ˆ˜์˜ ์ •์˜ ๋ถ€๋ถ„์— ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ ์ „๋‹ฌ๋ฐ›์„ ๋ณ€์ˆ˜
  • ์ „๋‹ฌ์ธ์ž(argument) : ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ์ „๋‹ฌํ•˜๋Š” ๊ฐ’
  • JS์—์„œ ํ•จ์ˆ˜ ์ •์˜ ์‹œ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ํƒ€์ž… ๋ช…์‹œ X
  • ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ์ •์˜๋œ ๋งค๊ฒจ๋ณ€์ˆ˜์™€ ์ „๋‹ฌ์ธ์ž ๊ฐœ์ˆ˜ ์ผ์น˜ํ•˜์ง€ ์•Š๋”๋ผ๋„ ํ˜ธ์ถœ ๊ฐ€๋Šฅ
๋ฐ˜์‘ํ˜•

'STUDY > Front End' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Web(Front) - Javascript-Event  (0) 2024.08.28
Web(Front) - Web Browser & Window ๊ฐ์ฒด  (0) 2024.08.28
[BOJ/Java] ์‡ ๋ง‰๋Œ€๊ธฐ (10799)  (0) 2024.08.28
Web(Front) - JavaScript  (0) 2024.08.27
Web(Front) - CSS ์†์„ฑ  (0) 2024.08.27
Comments