[TIL] 22.11.02 ๐Ÿ’Œ

yesยท2022๋…„ 11์›” 2์ผ
0

TIL ๐Ÿ’Œ

๋ชฉ๋ก ๋ณด๊ธฐ
52/55
post-thumbnail

์˜ค๋Š˜ ํ•œ ์ผ

โœ”๏ธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ deep dive

  • 33์žฅ. 7๋ฒˆ์งธ ๋ฐ์ดํ„ฐ ํƒ€์ž… Symbol
  • 34์žฅ. ์ดํ„ฐ๋Ÿฌ๋ธ”

โœ”๏ธ ์šฐํ…Œ์ฝ” 2์ฃผ์ฐจ

  • ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ชฉ๋ก ์ •๋ฆฌ
  • ๊ฒŒ์ž„ ์‹œ์ž‘ ๋ฌธ๊ตฌ ์ถœ๋ ฅ
  • ์ •๋‹ต ์ƒ์„ฑ

โœ”๏ธ ๊ธฐํƒ€

๋Š๋‚€ ์  & ์ •๋ฆฌ

  • ์šฐํ…Œ์ฝ” 1์ฃผ์ฐจ์—๋Š” ๊ฒน์น˜๋Š” ๊ณผ์ œ๊ฐ€ ์žˆ์–ด์„œ ์˜จ์ „ํžˆ ์ง‘์ค‘ํ•˜์ง€ ๋ชปํ–ˆ๋Š”๋ฐ, ์ด์ œ๋Š” ์˜จ์ „ํžˆ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์–ด์„œ ์—ด์‹ฌํžˆ ์ฐธ์—ฌํ•  ๊ฒƒ์ด๋‹ค.
  • Airbnb JavaScript ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ๋ฅผ ๋ณด๋‹ค๊ฐ€ Array.from()์ด๋ž‘, ์ดํ„ฐ๋Ÿฌ๋ธ”, ์œ ์‚ฌ๋ฐฐ์—ด ํ‚ค์›Œ๋“œ๊ฐ€ ๋‚˜์™”๋Š”๋ฐ ์ •ํ™•ํžˆ ์•Œ๊ณ  ์žˆ์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์•„์„œ ์ฑ…๊ณผ ๊ตฌ๊ธ€๋ง์„ ํ†ตํ•ด ๊ณต๋ถ€ํ–ˆ๋‹ค.
    Array.from()์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ ์‚ฌ์šฉํ•˜๊ณค ํ–ˆ์—ˆ๋Š”๋ฐ ์˜ค๋Š˜ ์ดํ•ด๊ฐ€ ์™„๋ฒฝํžˆ ๋ผ์„œ ์–ธ์ œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ง€ ์•Œ ์ˆ˜ ์žˆ์—ˆ๊ณ , ๋™์ž‘ ๊ณผ์ •์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.
    ์ดํ„ฐ๋Ÿฌ๋ธ”์— ๋Œ€ํ•ด์„œ ๋ช‡ ๋ฒˆ ์ฝ์—ˆ๋Š”๋ฐ ์˜ค๋Š˜ ๋˜ ํ•œ ๋ฒˆ ์ฝ์œผ๋‹ˆ๊นŒ ๋“œ๋””์–ด ์ดํ•ด๊ฐ€ ๋˜๋Š” ๊ฒƒ ๊ฐ™์•„์„œ ๊ธฐ๋ถ„์ด ์ข‹์•˜๋‹ค.
    ์œ ์‚ฌ ๋ฐฐ์—ด ๊ฐ์ฒด : ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์›์‹œ๊ฐ’๊ณผ ๊ฐ์ฒด๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋Š”๋ฐ, ๋ฐฐ์—ด ๋˜ํ•œ ๊ฐ์ฒด์ด๋‹ค. ์œ ์‚ฌ ๋ฐฐ์—ด ๊ฐ์ฒด๋ž€ ๋ฐฐ์—ด ์ฒ˜๋Ÿผ index๋ฅผ ํ†ตํ•ด ๊ฐ’์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ณ  length๋ฅผ ํ†ตํ•ด ๊ธธ์ด์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐฐ์—ด์ด ๋˜ํ•œ ๊ฐ์ฒด๋ผ๋Š” ์ ์ด ์ค‘์š”ํ•˜๋‹ค.
  • TDD์— ๋Œ€ํ•ด์„œ ์กฐ์‚ฌํ•˜๋ฉฐ ๊ณต๋ถ€ํ–ˆ๋Š”๋ฐ ๋ฐฉ๋ฒ•๋ก ์ด ๊ฝค๋‚˜ ์œ ์šฉํ•˜๊ณ  ์ง์ ‘ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•˜๋ฉด์„œ ์•ž์œผ๋กœ ๊ฒฝํ—˜ํ•ด ๋ณผ ๊ฒƒ์ด๋‹ค. TDD๋ฅผ ์ ์šฉํ•˜์˜€์„ ๋•Œ TIME cost๊ฐ€ ์˜คํžˆ๋ ค ์ ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค๋Š” ๊ฒƒ์€ ์˜ˆ์ „์— ๋‚˜์˜ ์ƒ๊ฐ์„ ๋’ค์ง‘๋Š” ๊ณ„๊ธฐ๊ฐ€ ๋˜์—ˆ๋‹ค.

์šฐํ…Œ์ฝ” 1์ฃผ์ฐจ ํ”ผ๋“œ๋ฐฑ

์ด๋ฆ„์„ ํ†ตํ•ด ์˜๋„๋ฅผ ๋“œ๋Ÿฌ๋‚ธ๋‹ค

๋‚˜ ์ž์‹ , ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž์™€์˜ ์†Œํ†ต์„ ์œ„ํ•ด ๊ฐ€์žฅ ์ค‘์š”ํ•œ ํ™œ๋™ ์ค‘์˜ ํ•˜๋‚˜๊ฐ€ ์ข‹์€ ์ด๋ฆ„ ์ง“๊ธฐ์ด๋‹ค. ๋ณ€์ˆ˜ ์ด๋ฆ„, ํ•จ์ˆ˜(๋ฉ”์„œ๋“œ) ์ด๋ฆ„, ํด๋ž˜์Šค ์ด๋ฆ„์„ ์ง“๋Š”๋ฐ ์‹œ๊ฐ„์„ ํˆฌ์žํ•˜๋ผ. ์ด๋ฆ„์„ ํ†ตํ•ด ๋ณ€์ˆ˜์˜ ์—ญํ• , ํ•จ์ˆ˜์˜ ์—ญํ• , ํด๋ž˜์Šค์˜ ์—ญํ• ์— ๋Œ€ํ•œ ์˜๋„๋ฅผ ๋“œ๋Ÿฌ๋‚ด๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๋ผ. ์—ฐ์†๋œ ์ˆซ์ž๋ฅผ ๋ง๋ถ™์ด๊ฑฐ๋‚˜(a1, a2, ..., aN), ๋ถˆ์šฉ์–ด(Info, Data, a, an, the)๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์€ ์ ์ ˆํ•˜์ง€ ๋ชปํ•˜๋‹ค

๐Ÿค” ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ๋Œ€์ถฉ ์ง“๊ณ  ๋„˜์–ด๊ฐ€๋Š” ๊ฒฝ์šฐ๊ฐ€ ์—†๊ฒŒ ํ•˜์ž. ๋ณ€์ˆ˜ ์ด๋ฆ„์ด ์ž˜ ์ƒ๊ฐ์ด ๋‚˜์ง€ ์•Š์•„ ๊ทธ๋ƒฅ ๋„˜์–ด๊ฐ„ ์ ์ด ๋งŽ์•˜๋Š”๋ฐ ๋ฐ˜์„ฑํ•˜์ž. ์–ด์ฐจํ”ผ ์ง€๊ธˆ ๋Œ€์ถฉ ๋„˜์–ด๊ฐ€๋ฉด ๋‚˜์ค‘์— ํ›„ํšŒํ•œ๋‹คโ€ฆ ํŠนํžˆ, ๋ถˆ์šฉ์–ด Info, Data ์“ฐ์ง€ ์•Š๊ธฐ ๊ธฐ์–ต

๋ถˆ์šฉ์–ด

๋ถˆ์šฉ์–ด(Stop word)๋Š” ๋ถ„์„์— ํฐ ์˜๋ฏธ๊ฐ€ ์—†๋Š” ๋‹จ์–ด์ด๋‹ค.

์ถ•์•ฝํ•˜์ง€ ์•Š๋Š”๋‹ค

์˜๋„๋ฅผ ๋“œ๋Ÿฌ๋‚ผ ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ด๋ฆ„์ด ๊ธธ์–ด์ ธ๋„ ๊ดœ์ฐฎ๋‹ค.

๐Ÿค” button์„ btn๊ณผ ๊ฐ™์ด ์ด๋ฆ„์ด ๋„ˆ๋ฌด ๊ธธ์–ด์งˆ๊นŒ๋ด ๊ฑฑ์ •ํ•˜์—ฌ ์ถ•์•ฝํ•œ ์ ์ด ๋งŽ์ด ์žˆ๋‹ค. ๊ฐœ๋ฐœ์ž ๋ˆ„๊ตฌ๋“ ์ง€ ๋ด๋„ ์ด๋ฆ„์„ ๋ณด๊ณ  ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ถ•์•ฝํ•˜์ง€ ์•Š๊ณ  ์ด๋ฆ„์ด ๊ธธ์–ด์ง€๋”๋ผ๋„ ์˜๋„๋ฅผ ๋“œ๋Ÿฌ๋‚ด๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•ด์•ผ๊ฒ ๋‹ค.


Object.prototype.hasOwnProperty()

์ด ๋ฉ”์†Œ๋“œ๋Š” ๊ฐ์ฒด๊ฐ€ ํŠน์ • ํ”„๋กœํผํ‹ฐ๋ฅผ ์ž๊ธฐ๋งŒ์˜ ์ง์ ‘์ ์ธ ํ”„๋กœํผํ‹ฐ๋กœ์„œ ์†Œ์œ ํ•˜๊ณ  ์žˆ๋Š”์ง€๋ฅผ ํŒ๋‹จํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.ย in์—ฐ์‚ฐ๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ, ์ด ๋ฉ”์†Œ๋“œ๋Š” ๊ฐ์ฒด์˜ ํ”„๋กœํ† ํƒ€์ž… ์ฒด์ธ์„ ํ™•์ธํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค.

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