๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Daily/Today I Learned

210109_TIL (undefined ์ œ๋Œ€๋กœ ์•Œ๊ธฐ)

by joooing 2021. 1. 10.
๋ฐ˜์‘ํ˜•

๐ŸŽ ์˜ค๋Š˜ ํ•œ ์ผ


โœ”๏ธ ๋ณต์Šต & ์‹ฌํ™” ํ•™์Šต
์ด๋จธ์‹œ๋ธŒ์ฝ”์Šค ์‹œ์ž‘ ์ดํ‹€์ „,, ๊ทธ ๋™์•ˆ ๋ฐฐ์šด ๋‚ด์šฉ๋“ค์„ ๋‹ค์‹œํ•œ๋ฒˆ ๋ณต์Šตํ•˜๋ฉด์„œ ๊ถ๊ธˆํ–ˆ๋˜ ๋ถ€๋ถ„์ด๋‚˜ ์ดํ•ด๊ฐ€ ์ž˜ ๋˜์ง€ ์•Š์•˜์—ˆ๋˜ ๋ถ€๋ถ„, ๊ด€๋ จํ•ด์„œ ๋” ์•Œ์•„๋ณด๋ ค๊ณ  ํ–ˆ๋˜ ๋ถ€๋ถ„๋“ค์„ ์ข€ ๋” ์ž์„ธํ•˜๊ฒŒ ์•Œ์•„๋ณด๊ณ  ์ •๋ฆฌํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค. ๊ทธ ์ค‘ ๊ฐ€์žฅ ๊ธฐ์–ต์— ๋‚จ๋Š” ๋‘ ๊ฐ€์ง€์ด๋‹ค.

๊นŠ์€๋ณต์‚ฌ ๋” ์•Œ์•„๋ณด๊ธฐ

์–•์€ ๋ณต์‚ฌ์™€ ๊นŠ์€ ๋ณต์‚ฌ์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜๋‹ค๊ฐ€ ๋ช‡๋ช‡ ์žฌ๋ฐŒ๋Š”(?) ์ฃผ์ œ๋“ค์„ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๊นŠ์€ ๋ณต์‚ฌ๋ฅผ ์žฌ๊ท€๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ตฌํ˜„ํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ , ๋˜ JSON ๋ฉ”์„œ๋“œ๋ฅผ ์„ ํ™œ์šฉํ•ด์„œ๋„ ๊นŠ์€ ๋ณต์‚ฌ๋ฅผ ๊ตฌํ˜„ํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ์ œ์ผ ํฅ๋ฏธ๋กœ์›Œ์„œ ์ด ๋ถ€๋ถ„๋“ค์€ ์ง์ ‘ ํ•จ์ˆ˜๋กœ ์ž‘์„ฑํ•ด๋ณด๊ธฐ๋„ ํ–ˆ๋‹ค.

  
๋ฐฐ์› ๋˜ ๊ฐœ๋…๋“ค์„ ๋ณต์Šตํ•˜๋˜ ์ค‘ undefined์— ๋Œ€ํ•œ ์˜๋ฌธ์ ๋“ค์ด ์žˆ์–ด์„œ ๊ทธ๋ƒฅ ์˜ค๋Š˜ ํ•œ ๋ฒˆ ์ œ๋Œ€๋กœ ์•Œ๊ณ  ๋„˜์–ด๊ฐ€์ž๋Š” ๋งˆ์Œ์œผ๋กœ ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค. undefined, null, empty ๋ชจ๋‘ '์—†๋‹ค'๋Š” ๋œป์„ ๊ฐ€์ง„ ๋น„์Šท๋น„์Šทํ•ด ๋ณด์ด๋Š” ๊ฐœ๋…์ด๋ผ ์–ด๋–ค ์ ์ด ๋‹ค๋ฅด๊ณ , ๊ฐ๊ฐ ์–ด๋–ค ์ƒํ™ฉ์—์„œ ์จ์•ผํ•˜๋Š”๊ฑด์ง€ ์ •ํ™•ํžˆ ์ˆ™์ง€ํ•˜์ง€๋Š” ๋ชปํ•˜๊ณ  ์žˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ์—ฌ๋Ÿฌ ์ž๋ฃŒ๋“ค์„ ์ฐพ์•„๋ณด๊ณ  ์ •๋ฆฌํ•ด๋ณด๋‹ˆ ์ด ์ค‘ undefined๊ฐ€ ํ•ต์‹ฌ์ด์—ˆ๋‹ค. ๊ทธ๋ž˜์„œundefined๋ฅผ ์ฃผ์ œ๋กœ, empty๋‚˜ null์™€ ๋น„๊ตํ•˜๋Š” ํ˜•์‹์œผ๋กœ ์ฐพ์•„๋ณธ ์ž๋ฃŒ๋“ค๊ณผ ์ƒ๊ฐ๋“ค์„ ์ •๋ฆฌํ•˜๊ณ  ๋ธ”๋กœ๊น…ํ–ˆ๋‹ค.

 

๐ŸŽ ๊ธฐ์–ตํ•  ๊ฒƒ


โœ”๏ธ undefined ๊ฐ’์ด ๋ฐ˜ํ™˜๋˜๋Š” ๊ฒฝ์šฐ
1. ์‚ฌ์šฉ์ž๊ฐ€ '๋ช…์‹œ์ '์œผ๋กœ ์ง€์ •ํ•˜๋Š” ๊ฒฝ์šฐ
2. Javascript ์—”์ง„์ด ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒฝ์šฐ     
(๊ฐ’์ด ํ• ๋‹น๋˜์ง€ ์•Š์€ ๋ณ€์ˆ˜์— ์ ‘๊ทผํ•  ๋•Œ, ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์†์„ฑ(property)์— ์ ‘๊ทผํ•  ๋•Œ, ํ•จ์ˆ˜์— return๋ฌธ์ด ์—†์„ ๋•Œ, ํ˜ธ์ถœ๋˜์ง€ ์•Š๋Š” ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•  ๋•Œ)

โœ”๏ธ empty
empty = ๋น„์–ด ์žˆ๋Š” ์ƒํƒœ โ‡’ ๊ฐ’์ด ์กด์žฌํ•˜์ง€ ์•Š์Œ โ‡’ ์†์„ฑ์— ์ ‘๊ทผ ๋ถˆ๊ฐ€ โ‡’ ์ˆœํšŒ ๋Œ€์ƒ์—์„œ ์ œ์™ธ!

โœ”๏ธ null
์‚ฌ์šฉ์ž๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ '๊ฐ’์ด ์—†๋‹ค', '๋น„์—ˆ๋‹ค'๋Š” ๊ฒƒ์„ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด ํ• ๋‹นํ•˜๋Š” ๊ฐ’, undefined๋Š” ๊ฐ’์ด ์‹ค์ œ๋กœ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋ฅผ ์˜๋ฏธ
(undefined๋„ ๋ช…์‹œ์ ์œผ๋กœ ๊ฐ’์ด ์—†์Œ์„ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ํ˜ผ๋ž€์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ง€์–‘ํ•˜์ž..!)

โœ”๏ธ ํ•˜๋“œ์›จ์–ด ์ŠคํŽ™ ํ–ฅ์ƒ ๋ฐฉ๋ฒ•
์Šค์ผ€์ผ ์—…(Scale Up) : ์ปดํ“จํ„ฐ ํ•œ ๋Œ€์— CPU, RAM ๋“ฑ์„ ์ถ”๊ฐ€ํ•ด ํ•˜๋“œ์›จ์–ด ์ŠคํŽ™์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ
์Šค์ผ€์ผ ์•„์›ƒ(Scale Out) : ์ปดํ“จํ„ฐ ๋Œ€์ˆ˜๋ฅผ ๋Š˜๋ ค ์‹œ์Šคํ…œ์„ ์ฆ๊ฐ€์‹œํ‚ค๊ธฐ

 

๐ŸŽ ๋” ๊ณต๋ถ€ํ•  ๊ฒƒ


โœ”๏ธ VariableEnvironment, Lexical Environment
โœ”๏ธ OOP์˜ 5๊ฐ€์ง€ ์„ค๊ณ„ ์›์น™
โœ”๏ธ RESTful API 
โœ”๏ธ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€