ํ๋ก ํธ์๋
-
[Javascript] ์๋ฐ์คํฌ๋ฆฝํธ ์์ง(heap & stack)๊ฐ๋ฐ์ผ์ง/FE 2023. 2. 23. 11:06
์ฐ๋ฆฌ๊ฐ ์น์์์ ์น์ฌ์ดํธ๋ฅผ ๋ณผ ์ ์๋ ๊ฒ์ ๋ธ๋ผ์ฐ์ ์์ javascript๋ฅผ ์คํํ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณตํ๋ค๋ ์๋ฏธ์ด๋ค. ๋ธ๋ผ์ฐ์ ๋ Browser APIs๋ ๋ค๋ฅธ ์์๋ค์ด ์๋๋ฐ ์ด๋ฒ์ ์ดํด๋ณผ ๊ฒ์ javascript ์์ง์ด๋ค. javascript๋ ์ธํฐํ๋ฆฌํฐ ์ธ์ด์ด๋ค. ์ธํฐํ๋ฆฌํฐ๋ ์ฝ๋๋ฅผ ์คํํจ๊ณผ ๋์์ ํ ์ค์ฉ ์คํํ๋ค๋ ์๋ฏธ์ด๋ค. ๋ค๋ฅธ ์ธ์ด๋ฅผ ์๋ฅผ ๋ค์ด ๋ณด์๋ฉด ์ฐ๋ฆฌ๋ ์ปดํ์ผ์ด๋ผ๋ ๊ณผ์ ์ด ์กด์ฌํ๊ณ (High level ์ธ์ด๋ฅผ low level ์ธ์ด๋ก ๋ฐ๊พธ์ด์ฃผ๋ ๊ณผ์ ์ฆ, ์์ด๋ก ์ฝ๋ฉํ๊ฑธ ๋จธ์ ์ด ์ดํดํ๊ธฐ ์ฌ์ด ๊ธฐ๊ณ์ด๋ก ๋ฐ๊พธ์ด์ค๋ค๋ ์๋ฏธ) ๊ทธ ํ ์คํ ๋ช ๋ น์ด๋ฅผ ํตํด ํด๋น ์ฝ๋๋ฅผ ์คํํ๋ค. ๊ทธ๋ฌ๋ javascript ์์ง์ ๊ทธ ์ค๊ฐ ๊ณผ์ ์ ์๋ตํ๊ณ ์คํ๊ณผ ๋์์ ์ปดํ์ผ์ ์งํํ๋ค. ๊ทธ๋์ javascri..
-
[Javascript] Hoisting๊ณผ TDZ๊ฐ๋ฐ์ผ์ง/FE 2023. 2. 21. 15:28
Javascript๋ var, let, const์ ๊ฐ์ ๋ณ์ ์์ฑ ๋ฐฉ๋ฒ์ด ์กด์ฌํ๋ค. ์ฐ๋ฆฌ๋ ๊ฐํน Hoisting์ ์๊ฐํ ๋ var๊ณผ ํจ์๋ Hoisting ๋์ง๋ง let๊ณผ const๋ ํธ์ด์คํ ์ด ๋์ง ์๋๋ค๊ณ ์๊ฐํ๋ค. ๊ทธ๋ฌ๋, ์ด๋ ํ๋ฆฐ ๋ง์ด๋ค. ๋จผ์ Hoisting์ ์ ์์ ๋ํด ์์๋ณด์. Hoisting์ MDN ๋ฌธ์์ ๋ฐ๋ฅด๋ฉด ์ธํฐํ๋ฆฌํฐ๊ฐ ๋ณ์์ ํจ์์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ์ธ ์ ์ ๋ฏธ๋ฆฌ ํ ๋นํ๋ ๊ฒ์ ์๋ฏธํ๋ค. (๐ธํธ์ด์คํ ์ ECMAScript 2015 ์ธ์ด ๋ช ์ธ ์ดํ ๋ํ๋ฌ์ต๋๋ค.) ์ฌ๊ธฐ์ var๊ณผ let์ ์ฐจ์ด๊ฐ ํ๋ ๋ฐ์ํ๊ฒ ๋๋๋ฐ ๋ฐ๋ก ์ ์ธ๊ณผ ์ด๊ธฐํ์ ์ฐจ์ด์ด๋ค. ์ฐ๋ฆฌ๋ javascript์ ๋ณ์๊ฐ ํ ๋น๋๋ ๊ณณ๊น์ง ์ด 3๊ฐ์ ๋จ๊ณ๋ก ๋๋์ด ๋ณผ ์ ์๋ค. 1. ์ ์ธ ๋จ๊ณ 2. ์ด๊ธฐํ ๋จ๊ณ 3. ..
-
[Javascript] ์์ ๊ฐ๊ณผ ์ฐธ์กฐ ๊ฐ๊ฐ๋ฐ์ผ์ง/FE 2023. 2. 21. 10:47
Javascript์ ๊ฐ์๋ ๋ ๊ฐ์ง ์ข ๋ฅ์ ์นดํ ๊ณ ๋ฆฌ๊ฐ ์กด์ฌํ๋ค. ๋ฐ๋ก ์์ ๊ฐ๊ณผ ์ฐธ์กฐ ๊ฐ์ด๋ค. ์ค๋์ ๋๊ฐ์ ์ฐจ์ด์ ๋ํด ๊ณต๋ถํ๊ณ ํฌ์คํ ํด๋ณด๊ณ ์ ํ๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์ 7๊ฐ ๋ํ์ ์ธ ๊ฐ(String, Number, Boolean etc)์ ๊ฒฝ์ฐ ์์ ๊ฐ์ด๋ผ๊ณ ํ ์ ์๋ค. ์์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๊ณ ๋ณดํต ์คํ์ด๋ค. ์๋์ ์ผ๋ก ์งง๊ฒ ๋์ํ๊ธฐ ๋๋ฌธ์ธ๋ฐ, ์ด ๊ฐ์ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์ฝ๊ฒ ์ ๊ฑฐํ ์ ์๊ณ ๋ํ ๋น์ฉ์ด ์ ๋ ดํ๊ธฐ์ ์ฝ๊ฒ ๋ณต์ ํ ์ ์๋ค. ์ด๊ณณ์์ ๋ณดํต ์คํ์ด๋ผ๊ณ ๋งํ ๊ฒ์ ์๋ฏธ๋ ๋ง์ฝ ์์ ์ด ๊ธธ์ด์ง๊ฒ ๋ ๊ฒฝ์ฐ ํ์ ์ ์ฅํ์ฌ ์ฅ๊ธฐ์ ์ผ๋ก ์ฌ์ฉํ ์๋ ์๋ค๋ ์๋ฏธ์ด๋ค. ์์ ๊ฐ์์ ๋ณ์๋ฅผ ๋ณต์ฌํ๋ค๋ ๊ฒ์ ์์ ๊ฐ์ ๊ฐ์ง ์๋ก์ด ๋ณ์๋ฅผ ํ ๋นํ ๋ค ์ค์ ๋ก ๊ฐ์ ํ ๋นํ๋ค๋ ๊ฒ์ด๋ค. ์กฐ๊ธ ๋ณต์กํ๊ฒ ์ค๋ช ํ๋๋ฐ ์..
-
[JavaScript] var vs let vs const๊ฐ๋ฐ์ผ์ง/FE 2023. 2. 2. 09:26
var์ ๊ฒฝ์ฐ ES5๊น์ง ์ฌ์ฉํ๋ ๋ณ์ ์์ฑ ๋ฐฉ๋ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ let๊ณผ const๋ ES6๋ถํฐ ๋ณ์์ ์์๋ฅผ ์์ฑํ๊ธฐ ์ํ์ฌ ์ฌ์ฉํ๊ณ ์๋ค. ์ค๋์ ์ด ์ธ ๊ฐ์ง์ ๋ํด ์ฐจ์ด์ ์ ์ดํด๋ณด๊ณ ์ ํ๋ค. ๋จผ์ ์์์ ์ธ๊ธํ์ง๋ง var์ let์ ๊ฒฝ์ฐ ๊ณตํต์ ์ผ๋ก ๋ณ์๋ฅผ ์์ฑํ๋ค. ๊ทธ๋ฆฌ๊ณ const์ ๊ฒฝ์ฐ ์์๋ฅผ ์์ฑํ๋ค๋ ๊ฒ์ด ๋ช ํํ ์ฐจ์ด์ ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค. ๊ทธ๋ ๋ค๋ฉด var์ let์ ์ฐจ์ด์ ์๋ ๋ฌด์์ด ์๋๊ฐ? ๋ ๋ค ๊ณตํต์ ์ผ๋ก ๋ณ์๋ฅผ ์์ฑํ๋ค๋ฉด ๊ตณ์ด ์์ ํ์๊ฐ ์์ง ์์๊น? ํ๋ ์๊ฐ์ด ๋ค ์ ์์ ๊ฒ ๊ฐ๋ค. var์ javascript์ ์ด๊ธฐ๋ถํฐ ์ง์์ ์ผ๋ก ์ฌ์ฉํด ์ค๋ ๊ฒ์ผ๋ก ํจ์ & ์ ์ญ scope์ด๋ค. ๊ทธ๋ฆฌ๊ณ let๊ณผ const์ ๊ฒฝ์ฐ์๋ Block Scope๋ผ๊ณ ํ ์ ์๋ค. ๊ทธ๋ ๋ค๋ฉด Block Sco..
-
[JavaScript] null๊ณผ undefined, NaN์ ์ฐจ์ด์ ๊ฐ๋ฐ์ผ์ง/FE 2022. 12. 27. 16:34
์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฒ์ ๋ง์ฃผํ์ ๋ ๊ฐ์ฅ ํท๊ฐ๋ ธ๋ 3๊ฐ์ง์ ๋ํด ์ ๋ฆฌํ๊ณ ์ ํ๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์๋ ๋ค์๊ณผ ๊ฐ์ 3๊ฐ์ง๊ฐ ์กด์ฌํ๋ค. ๋ฐ๋ก null,undefined,NaN์ด๋ค. ๊ฐ์ฅ ๋จผ์ ํท๊ฐ๋ ธ๋ ๋ถ๋ถ์ ๋ฐ๋ก null ๊ณผ undefined์ ์ฐจ์ด์๋ค. ๋ ๋ชจ๋ javascript์ ํ์ ์ด๋ฉฐ ์์ ๊ฐ์ด๋ผ๊ณ ํ ์ ์๋ค. ๐์๋ฐ์คํฌ๋ฆฝํธ์ ์์ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ ๊ฐ์ ์๋ฏธํ๋ค. ๊ทธ๋ ๋ค๋ฉด ๋์ ๋์ผํ ๊ฒ์ผ๊น? ์ ๋ต๋ง ๋๊ณ ๋ณด์๋ฉด ๋์ ์์ฐํ ๋ค๋ฅธ ๊ฒ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค. ์ฐ๋ฆฌ๊ฐ ํ ๋ณ์๋ฅผ ์ ์ธํ ๋๋ ๋ค์๊ณผ ๊ฐ์ ํํ๋ฅผ ์ฌ์ฉํ๊ณ ๋ ํ๋ค. let value = [์ค์ ๋ก ๋ฃ์ ๊ฐ]; ์ด๋ ๊ฒ ๋ ๊ฒฝ์ฐ ๋ณ์๋ฅผ ์ ์ธํจ๊ณผ ๋์์ ํ์ ์ ๊ฒฐ์ ์ง์ ์ ์๋ค. ํ๋ ์ฝ๋ฉ์ ํ ๊ฒฝ์ฐ์๋ ๋ณ์์ string ๊ฐ์ ์ง์ด๋ฃ์ ๊ฒฝ์ฐ va..
-
[#5-day] ํ๋ก ํธ์๋ ๊ณต๋ถ ์ฃผ์ ๋ฆฌ๊ฐ๋ฐ์ผ์ง/FE 2022. 11. 3. 14:55
์๊ฐ ์ค๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๋ฌธ๋ฒ ํ๊ฐ๊ฐ ๋์ ๊ฑฐ์ฌ๋ฆฌ๊ธฐ ์์ํ๋ค. src={item.author ? item.author.photoURL ?? 'URL์ฃผ์' : 'URL ์ฃผ์'} ํด๋น ์ฝ๋๋ ์งํํ๋ ํ๋ก์ ํธ์์ ๊ฐ์ง๊ณ ์จ ์ฝ๋์ ์ผ๋ถ๋ถ์ด๋ค. ์ด์ ๊ฐ์ด ์๋ฐ์คํฌ๋ฆฝํธ์์๋ ์ผํญ ์ฐ์ฐ์๋ฅผ ๋ค์๊ณผ ๊ฐ์ ๋ฌผ์ํ๋ฅผ ์ฌ์ฉํ ๋ค ์ฐธ๊ณผ ๊ฑฐ์ง์ ๋ฐ๋ผ ๊ตฌ๋ถํ๋ค. ๐ณ ๊ทธ๋ฐ๋ฐ ์ ๊น, ์ผํญ ์ฐ์ฐ์๋ ๋ณดํต ๋ค์๊ณผ ๊ฐ์ ํ์์ ๋์ด๋ค. ์ฐธ๊ณผ ๊ฑฐ์ง์ผ๋ก ๋๋ ์ ์๋ ์กฐ๊ฑด? ์ฐธ์ผ๋ ์คํํ ๋ฌธ์ฅ:๊ฑฐ์ง์ผ๋ ์คํํ ๋ฌธ์ฅ ๊ทธ๋ ๋ค๋ฉด ๋ฌผ์ํ ๋๊ฐ๋ฅผ ๋ถ์ฌ์ฐ๋ฉด ์ฌํญ ์ฐ์ฐ์์ธ๊ฑธ๊น? ๐ ๊ฐ์์ ๋ํ ์๊ฐ๋ ๋ค์ ๊ธ์ ์์ด์! https://coding7281.tistory.com/9 [#1day] ํ๋ก ํธ์๋ ๊ณต๋ถ ์ฃผ์ ๋ฆฌ ํ์ฐธ ํ๋ก์ ํธ๋ฅผ ๊ฒฝํํ๊ณ ๊ณต๋ถํ๊ธฐ..
-
[#s-day] ํ๋ก ํธ์๋ ๊ณต๋ถ ์ฃผ์ ๋ฆฌ(vercel , Netlify etc)๊ฐ๋ฐ์ผ์ง/FE 2022. 11. 1. 16:37
์ค๋์ ์ด์ ํฌ์คํ ํ๋ ๊ฒ๊ณผ ๋ณ๋๋ก ๋ค๋ฅธ ์ด์ผ๊ธฐ๋ฅผ ํ๊ธฐ ์ํด ๋ธ๋ก๊ทธ๋ฅผ ์์ฑํ๊ธฐ ์์ํ๋ค. ๋ฐ๋ก Vercel๊ณผ Netlify ์ ์ฐจ์ด์ ์ ๋ํ ๋ถ๋ถ์ด๋ค. ๋จผ์ Vercel๊ณผ Netlify๋ ํ๋ก ํธ์๋์ ๋ฐฑ์๋๋ฅผ ๋ฐ๋ก ๋์ง ์๊ณ ํ๋ก ํธ์๋์์ ํ๋ซํผ์ผ๋ก ๋ฐฐํฌํ ์ ์๋๋ก ํด์ค๋ค. ์ถ๊ฐ์ ์ผ๋ก github pages๋ฅผ ํตํ ๋ฐฐํฌ ์ญ์ ์๋ฒ๋ฆฌ์ค ๋ฐฐํฌ๋ฅผ ์๋ฏธํ๋ค. (ํ๋ก ํธ์๋์ ๋ฐฑ์๋๋ฅผ ํจ๊ป ์ ๊ณตํ๋ wix์ ๊ฐ์ ์ฌ์ดํธ๋ ์กด์ฌํ๋ค.) โ ์ด๋ผ, ๊ทธ๋ ๋ค๋ฉด ๋ ํ๋ซํผ ์๋น์ค ํ์ฌ์ ๊ฒฝ์ฐ ์ ๋ง ์๋ฒ ์์ด ๊ตฌ๋์ด ๋๋ ๊ฒ์ธ๊ฐ? ์ด๊ฒ์ ๊ฒ ์ฐพ์๋ณธ ๋ฐ๋ก๋ ์๋ฒ๊ฐ ์๋ค๋ ์๋ฏธ์์๊ฐ ์๋, ์๋ฒ๋ฅผ ์๊ฐํ ํ์๊ฐ ์๋ค๋ ๋ป์์ ์๋ฒ๋ฆฌ์ค ๋ฐฐํฌ๋ผ๋ ๋จ์ด๊ฐ ์ฌ์ฉ๋๋ค๋ ๊ฒ์ด์๋ค. (๋ฌผ๋ก ์ด๊ฒ๋ ์ฐธ๊ณ ํด์์ ๊ฒฐ๋ก ์ด์ง ์ ํํ ๋ด์ฉ์ ์๋๋ค.๐ฅ..
-
[#4day] ํ๋ก ํธ์๋ ๊ณต๋ถ ์ฃผ์ ๋ฆฌ๊ฐ๋ฐ์ผ์ง/FE 2022. 10. 27. 17:27
์๊ฐ ์ค๊ฐ์ ๊ถ๊ธ์ฆ์ด ์๊ธด ๋ ์ฐธ์ ์ ์์ด์ ์์๋ณธ ๋ค ์ ๋ฆฌ๊ฒธ ํฌ์คํ ํ๊ฒ ๋์๋ค. ๐ ๊ฐ์์ ๋ํ ์๊ฐ๋ ๋ค์ ๊ธ์ ์์ด์! https://coding7281.tistory.com/9 [#1day] ํ๋ก ํธ์๋ ๊ณต๋ถ ์ฃผ์ ๋ฆฌ ํ์ฐธ ํ๋ก์ ํธ๋ฅผ ๊ฒฝํํ๊ณ ๊ณต๋ถํ๊ธฐ ์ํด ์ด๊ฒ์ ๊ฒ ์ง์ํ๋ ์ด๋ ๋ ์ธํ๋ฐ์ ๋ค์ด๊ฐ๋๋ฐ ์์ ์ด ํ๋ ๋์ ๋์๋ค. ๋ฐ๋ก, [๋ง๋ค๋ฉด์ ๋ฐฐ์ฐ๋ ํ๋ก ํธ์๋ DO IT ์ฝ๋ฉ] ์ด๋ผ๋ ์์ ์ด์๋ค! ํ๋ฃจ ํ coding7281.tistory.com ํด๋น ํ๋ก์ ํธ์์๋ react์ createContext๋ฅผ import ํ์ฌ ์ฌ์ฉํ๊ฒ ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ด๋, VisualStudio Code์์ createContext๋ฅผ ํ์ธํด๋ณด๋ฉด ๋๊ฐ์ createContext๋ฅผ ํ์ธํ ์ ์๋๋ฐ ๋ฐ๋ก node.js์..