[JS์Šคํ„ฐ๋””] ๋ณ€์ˆ˜, ํ‘œํ˜„์‹, ๋ฌธ

2023. 3. 31. 02:26ใ†JavaScript

๋ณ€์ˆ˜

๐Ÿ’ก CPU ์™€ ๋ฉ”๋ชจ๋ฆฌ
- CPU: ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ์‚ฐ
- ๋ฉ”๋ชจ๋ฆฌ: ์…€ ํ•˜๋‚˜๋Š” 1Byte (=8bit)
-- ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ: ๊ฐ ์…€์˜ ๊ณ ์œ ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์˜ ์œ„์น˜ (0๋ถ€ํ„ฐ ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ๊นŒ์ง€์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ)
-- ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋˜๋Š” ๋ฐ์ดํ„ฐ๋Š” ์ข…๋ฅ˜์™€ ์ƒ๊ด€์—†์ด 2์ง„์ˆ˜๋กœ ์ €์žฅ๋จ

  • CPU๊ฐ€ ์—ฐ์‚ฐํ•œ ๊ฒฐ๊ณผ๊ฐ’์„ ์žฌ์‚ฌ์šฉํ•˜๋ ค๋ฉด?
    • โŒ ‘์ง์ ‘ ์ ‘๊ทผ’ → ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ง์ ‘ ์ œ์–ดํ•˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉ X
      • ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋กœ ‘์ง์ ‘ ์ ‘๊ทผ’ ํ•˜๋Š” ๊ฒƒ์€ ์‹œ์Šคํ…œ์— ์น˜๋ช…์ ์ธ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Œ
      • ์ง์ ‘ ์ ‘๊ทผํ•˜๊ณ  ์‹ถ์–ด๋„ ๋ชป ํ•จ (์—ฐ์‚ฐํ•  ๋•Œ๋งˆ๋‹ค ๊ฒฐ๊ณผ๊ฐ’์€ ์ž„์˜์˜ ์ฃผ์†Œ์— ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ)
    • โญ•๏ธ ‘๋ณ€์ˆ˜’ ์‚ฌ์šฉ → ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ํ†ตํ•ด ์ ‘๊ทผํ•  ํ•„์š” ์—†์ด ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์•ˆ์ „ํ•˜๊ฒŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ!
      • ๋ณ€์ˆ˜ : ํ•˜๋‚˜์˜ ๊ฐ’์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ํ™•๋ณดํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ์ž์ฒด ๋˜๋Š” ๊ทธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ๋ถ™์ธ ์ด๋ฆ„
      • ๊ฐ’์˜ ์œ„์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ƒ์ง•์ ์ธ ์ด๋ฆ„
      • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์ปดํŒŒ์ผ๋Ÿฌ ๋˜๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ์— ์˜ํ•ด ๊ฐ’์ด ์ €์žฅ๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์˜ ์ฃผ์†Œ๋กœ ์น˜ํ™˜๋˜์–ด ์‹คํ–‰๋จ
  • ํ• ๋‹น : ๋ณ€์ˆ˜์— ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๊ฒƒ
  • ์ฐธ์กฐ : ๋ณ€์ˆ˜์— ์ €์žฅ๋œ ๊ฐ’์„ ์ฝ์–ด๋“ค์ด๋Š” ๊ฒƒ
    • ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ํ†ตํ•ด ์ฐธ์กฐํ•  ๋•Œ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์ด ๋ณ€์ˆ˜ ์ด๋ฆ„(์‹๋ณ„์ž)๊ณผ ๋งคํ•‘๋œ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์ ‘๊ทผํ•˜์—ฌ ์ €์žฅ๋œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

์‹๋ณ„์ž

  • ์‹๋ณ„์ž : ์–ด๋–ค ๊ฐ’(๋ณ€์ˆ˜, ํ•จ์ˆ˜, ํด๋ž˜์Šค ๋“ฑ)์„ ๊ตฌ๋ณ„ํ•ด์„œ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ์œ ์˜ ์ด๋ฆ„. ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ์— ๋ถ™์ธ ์ด๋ฆ„.
    • ๋ณ€์ˆ˜, ํ•จ์ˆ˜, ํด๋ž˜์Šค ๋“ฑ์˜ ์ด๋ฆ„
      • ๋„ค์ด๋ฐ ๊ทœ์น™: ํŠน์ˆ˜๋ฌธ์ž ์ œ์™ธํ•œ ๋ฌธ์ž, ์ˆซ์ž, _, $ (๋‹จ, ์ˆซ์ž๋กœ ์‹œ์ž‘X, ์˜ˆ์•ฝ์–ดX) | ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„O
      • ๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜: camelCase, snake_case, PascalCase, typeHungarianCase
    • ๊ฐ’์ด ์•„๋‹ˆ๋ผ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ฃผ์†Œ๋ฅผ ๊ธฐ์–ตํ•˜๊ณ  ์žˆ์Œ
    • ๊ฐ’์ด ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ์ฃผ์†Œ์™€ ๋งคํ•‘ ๊ด€๊ณ„๋ฅผ ๋งบ์Œ (๋งคํ•‘ ์ •๋ณด๋„ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ)
    • ์„ ์–ธ ์„ ํ†ตํ•ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์— ์‹๋ณ„์ž์˜ ์กด์žฌ(๊ฐ’์ด ์ƒ์„ฑ๋จ)๋ฅผ ์•Œ๋ฆผ

๋ณ€์ˆ˜ ์„ ์–ธ

  • ๋ณ€์ˆ˜ ์„ ์–ธ : ๋ณ€์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ.
    • ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ๋“ฑ๋ก, ๊ฐ’ ์ €์žฅ์„ ์œ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์˜ ํ™•๋ณด
    • ๋ณ€์ˆ˜ ์ด๋ฆ„๊ณผ ํ™•๋ณด๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์˜ ์ฃผ์†Œ๋ฅผ ์—ฐ๊ฒฐ → ๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ค€๋น„
    • ๋ณ€์ˆ˜ ์„ ์–ธ์— ์˜ํ•ด ํ™•๋ณด๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์€ ํ™•๋ณด๊ฐ€ ํ•ด์ œ๋˜๊ธฐ ์ „๊นŒ์ง€ ๋ˆ„๊ตฌ๋„ ๊ทธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ
    • ์„ ์–ธ ๋‹จ๊ณ„ , ์ดˆ๊ธฐํ™” ๋‹จ๊ณ„ 2๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ์„œ ์ง„ํ–‰
  • ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋ฐ˜๋“œ์‹œ ๋ณ€์ˆ˜ ์„ ์–ธ์ด ํ•„์š”
    • ์„ ์–ธ ๋ฐฉ๋ฒ•: var, let, const ํ‚ค์›Œ๋“œ ์‚ฌ์šฉ
  • var : ๋’ค์— ์˜ค๋Š” ๋ณ€์ˆ˜ ์ด๋ฆ„์œผ๋กœ ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๊ฒƒ์„ ์ง€์‹œํ•˜๋Š” ํ‚ค์›Œ๋“œ
    • ์„ ์–ธ ์งํ›„ ์•„์ง ํ• ๋‹น ์•ˆ ํ•œ ์ƒํƒœ: ๋ฉ”๋ชจ๋ฆฌ ๋น„์–ด์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์ด **undefined** ๊ฐ’์„ ์•”๋ฌต์ ์œผ๋กœ ํ• ๋‹น๋˜๋ฉด์„œ ์ดˆ๊ธฐํ™”
    • ์„ ์–ธ ๋‹จ๊ณ„ ์™€ ์ดˆ๊ธฐํ™” ๋‹จ๊ณ„ ๋™์‹œ์— ์ง„ํ–‰ (์„ ์–ธ๊ณผ ๋™์‹œ์— undefined๊ฐ’์ด ํ• ๋‹น)
  • ReferenceError : ์„ ์–ธ๋˜์ง€ ์•Š์€ ๋ณ€์ˆ˜๋ฅผ ์ฐธ์กฐํ•˜๋ ค ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ (๋“ฑ๋ก์ด ์•ˆ ๋œ ๋ณ€์ˆ˜ ์ ‘๊ทผ ์‹œ)

๋ณ€์ˆ˜ ์„ ์–ธ์˜ ์‹คํ–‰ ์‹œ์ ๊ณผ ๋ณ€์ˆ˜ ํ˜ธ์ด์ŠคํŒ…

  • ๋ณ€์ˆ˜ ์„ ์–ธ์€ ๋Ÿฐํƒ€์ž„(์†Œ์Šค์ฝ”๋“œ๊ฐ€ ํ•œ ์ค„์”ฉ ์‹คํ–‰๋˜๋Š” ์‹œ์ )์ด ์•„๋‹ˆ๋ผ ๊ทธ ์ด์ „ ๋‹จ๊ณ„(์†Œ์Šค์ฝ”๋“œ ์‹คํ–‰์„ ์œ„ํ•œ ์ค€๋น„ ๋‹จ๊ณ„์ธ ‘์†Œ์Šค์ฝ”๋“œ ํ‰๊ฐ€ ๊ณผ์ •’)์—์„œ ๋จผ์ € ์‹คํ–‰๋œ๋‹ค.
    • ์†Œ์Šค์ฝ”๋“œ ์‹คํ–‰ ์ด์ „์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์ด ๋ชจ๋“  ์„ ์–ธ๋ฌธ์„ ์‹คํ–‰ํ•˜๊ณ , ๊ทธ ํ›„์— ์„ ์–ธ๋ฌธ๋“ค์„ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ํ•œ ์ค„์”ฉ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰ํ•œ๋‹ค.
    • ๋”ฐ๋ผ์„œ ๋ณ€์ˆ˜ ์„ ์–ธ๋ฌธ์ด ์†Œ์Šค์ฝ”๋“œ ์–ด๋””์— ์œ„์น˜ํ•˜๋“  ์ƒ๊ด€์—†์ด ์–ด๋””์„œ๋“  ๋ณ€์ˆ˜ ์ฐธ์กฐ ๊ฐ€๋Šฅ
  • ๋ณ€์ˆ˜ ํ˜ธ์ด์ŠคํŒ… : ๋ณ€์ˆ˜ ์„ ์–ธ๋ฌธ์ด ์ฝ”๋“œ์˜ ์„ ๋‘๋กœ ๋Œ์–ด์˜ฌ๋ ค์ง„ ๊ฒƒ์ฒ˜๋Ÿผ ๋™์ž‘ํ•˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ณ ์œ ์˜ ํŠน์ง•
    • ์„ ์–ธ๋ฌธ์€ ๋ชจ๋‘ ๋Ÿฐํƒ€์ž„ ์ด์ „ ๋‹จ๊ณ„์—์„œ ๋จผ์ € ์‹คํ–‰๋œ๋‹ค = ํ˜ธ์ด์ŠคํŒ…๋œ๋‹ค
    • var, let, const, function, function*, class ํ‚ค์›Œ๋“œ๋ฅผ ํ†ตํ•ด์„œ ์„ ์–ธํ•˜๋Š” ๋ชจ๋“  ์‹๋ณ„์ž๋Š” ํ˜ธ์ด์ŠคํŒ…๋œ๋‹ค.

๊ฐ’์˜ ํ• ๋‹น

  • ํ• ๋‹น ์—ฐ์‚ฐ์ž
  • ๋ณ€์ˆ˜ ์„ ์–ธ๊ณผ ๊ฐ’์˜ ํ• ๋‹น - ํ•˜๋‚˜์˜ ๋ฌธ์žฅ์œผ๋กœ ๋‹จ์ถ•ํ•ด๋†”๋„ ์—”์ง„์€ ์„ ์–ธ, ํ• ๋‹น ๋‘ ๊ฐœ๋กœ ๋‚˜๋ˆ ์„œ ์‹คํ–‰
  • undefined๋กœ ํ• ๋‹น๋œ ๋ณ€์ˆ˜์˜ ๊ฐ’์„ 80์œผ๋กœ ๋ณ€๊ฒฝ(์ฆ‰ ์žฌํ• ๋‹น)ํ•  ๊ฒฝ์šฐ
    • undefined๊ฐ€ ์ €์žฅ๋ผ ์žˆ๋˜ ๊ธฐ์กด์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๋น„์šฐ๊ณ  ๋‹ค์‹œ ๊ทธ ๊ณณ์— 80์„ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ,
    • ‘์ƒˆ๋กœ์šด ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ™•๋ณด’ํ•˜๊ณ  ๊ทธ๊ณณ์— 80์„ ์ €์žฅ

๊ฐ’์˜ ์žฌํ• ๋‹น

  • ์ด๋ฏธ ๊ฐ’์ด ํ• ๋‹น๋œ ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ

cf. ์ƒ์ˆ˜ : ๊ฐ’์„ ์žฌํ• ๋‹นํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ. ๋‹จ ํ•œ๋ฒˆ์˜ ํ• ๋‹น๋งŒ ๊ฐ€๋Šฅํ•จ.

  • ๊ธฐ์กด ๊ฐ’์ด ์ €์žฅ๋ผ ์žˆ๋˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๋น„์šฐ๊ณ  ์ƒˆ๋กœ ์ €์žฅํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ, ์ƒˆ๋กœ์šด ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ™•๋ณดํ•˜๊ณ  ๊ฑฐ๊ธฐ์— ์ €์žฅ
    • ๊ฐ€๋น„์ง€ ์ฝœ๋ ‰ํ„ฐ ์— ์˜ํ•ด ์–ธ์  ๊ฐ€ ์žฌํ• ๋‹น ์ „์˜ ๋ถˆํ•„์š”ํ•œ ๊ธฐ์กด ๊ฐ’๋“ค์€ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ž๋™ ํ•ด์ œ๋จ. ๋” ์ด์ƒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”๋ชจ๋ฆฌ(์–ด๋–ค ์‹๋ณ„์ž๋„ ์ฐธ์กฐํ•˜์ง€ ์•Š๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„)๋ฅผ ํ•ด์ œํ•จ.
  • ๊ฐ’: ํ‘œํ˜„์‹์ด ํ‰๊ฐ€๋˜์–ด ์ƒ์„ฑ๋œ ๊ฒฐ๊ณผ
  • ๋ฆฌํ„ฐ๋Ÿด: ์‚ฌ๋žŒ์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ž or ์•ฝ์†๋œ ๊ธฐํ˜ธ๋กœ ํ‘œ๊ธฐํ•œ ์ฝ”๋“œ
    • ๋ฆฌํ„ฐ๋Ÿด์€ ํ‰๊ฐ€๋˜์–ด ๊ฐ’์„ ์ƒ์„ฑํ•œ๋‹ค.
    • ๊ฐ’์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋ฏธ๋ฆฌ ์•ฝ์†ํ•œ ํ‘œ๊ธฐ๋ฒ•.
  • ํ‘œํ˜„์‹: ๊ฐ’์œผ๋กœ ํ‰๊ฐ€๋  ์ˆ˜ ์žˆ๋Š” ๋ฌธ
  • ๋ฌธ: ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ธฐ๋ณธ ๋‹จ์œ„์ด์ž ์ตœ์†Œ ์‹คํ–‰ ๋‹จ์œ„

ํ‘œํ˜„์‹

  • ํ‘œํ˜„์‹ ์€ ํ‰๊ฐ€๋˜์–ด ๊ฐ’์„ ์ƒ์„ฑํ•œ๋‹ค.
  • ๊ฐ’์œผ๋กœ ํ‰๊ฐ€๋  ์ˆ˜ ์žˆ๋Š” ๋ฌธ

๋ฌธ

  • ๋ฌธ ์€ ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ธฐ๋ณธ ๋‹จ์œ„์ด์ž ์ตœ์†Œ ์‹คํ–‰ ๋‹จ์œ„
    • ํ† ํฐ : ๋ฌธ๋ฒ•์ ์œผ๋กœ ๋” ์ด์ƒ ๋‚˜๋ˆŒ ์ˆ˜ ์—†๋Š” ์ฝ”๋“œ์˜ ๊ธฐ๋ณธ ์š”์†Œ
    • ํ† ํฐ์ด ๋ชจ์—ฌ ๋ฌธ์ด ๋จ
  • ์ปดํ“จํ„ฐ์— ๋‚ด๋ฆฌ๋Š” ๋ช…๋ น์–ด
  • ํ‘œํ˜„์‹์ธ ๋ฌธ , ํ‘œํ˜„์‹์ด ์•„๋‹Œ ๋ฌธ
    • ๊ฐ’์œผ๋กœ ํ‰๊ฐ€๋  ์ˆ˜ ์žˆ๋Š” ๋ฌธ, ์—†๋Š” ๋ฌธ
    • ๋ณ€์ˆ˜์— ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ, ์—†๋Š” ๋ฌธ