javascript
-
[JavaScript] ์๋ฐ์คํฌ๋ฆฝํธ๋?๊ฐ๋ฐ์ผ์ง/FE 2024. 7. 16. 20:40
โป ํด๋น ๊ฒ์๊ธ์ ์์ด๋ก ๋ ๊ธ์ ๋ฒ์ญํ์ฌ ์ฌ๋ฆฐ ๊ฒ์ผ๋ก ์ค์ญ์ด๋ ์์ญ์ด ์์ ์ ์์ต๋๋ค.์๊ธ : https://javascript.info/intro#what-can-in-browser-javascript-do์ด๋ฒ ๊ธ์์๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ํน์ดํ ์ , ์ด๊ฑธ ํตํด ๋ฌด์์ ์ป์ ์ ์๋์ง, ๋ ๋ค๋ฅธ ๊ธฐ์ ๊ณผ ์ ์ด์ธ๋ฆฌ๋์ง์ ๋ํด ์ดํด๋ณด๊ฒ ์ต๋๋ค.์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ๋ญ๊ฐ์?์๋ฐ์คํฌ๋ฆฝํธ๋ ์ฒ์์ "์นํ์ด์ง๊ฐ ์ด์์๋ ๊ฒ"์ฒ๋ผ ๋ง๋ค๊ธฐ ์ํด ๋ง๋ค์ด์ก์ต๋๋ค.ํ๋ก๊ทธ๋๋ฐ์์ ์ด ์ธ์ด๋ฅผ ์คํฌ๋ฆฝํธ(scripts)๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.์นํ์ด์ง์ HTML์์ ๋ฐ๋ก ์์ฑ ๊ฐ๋ฅํ๊ณ ํ์ด์ง๊ฐ ๋ก๋๋๋ฉด ์๋์ผ๋ก ์คํ๋ฉ๋๋ค.์คํฌ๋ฆฝํธ๋ ํ๋ฌธ์ผ๋ก ์์ฑ๋๊ณ ์คํ๋ฉ๋๋ค. ์ด ๋ง์ ์ฆ ์คํ๋๊ธฐ ์ํด ํน๋ณํ ์ค๋น๋ ์ปดํ์ผ์ด ํ์ํ์ง ์๋ค๋ ๊ฒ์ ๋๋ค.์ด๋ฌํ ์ธก๋ฉด์..
-
[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 ์๋ฒฝ๊ฐ์ด๋] 89. ๊ฒ์ ๋ฆฌ์ ๊ธฐ๋ฅ๊ฐ๋ฐ์ผ์ง/FE 2023. 1. 15. 22:52
์ด๋ฒ FE ๊ฒ์๊ธ์ Udemy ๊ฐ์๋ฅผ ์๊ฐํ๋ฉฐ ์ถ๊ฐ๋ก ๊ตฌํํ ๋ด์ฉ์ ์์ฑํด๋ณด๊ณ ์ ํ๋ค. ๋จผ์ ๋ฃ๊ณ ์๋ ๊ฐ์๋ ๋ค์ ๋งํฌ์์ ํ์ธํ ์ ์๋ค. https://www.udemy.com/course/javascript-zw/ JavaScript์ ์ด๋ฐ ๋ถ๋ถ if-else๋ฅผ ๊ฐ์ง๊ณ ๊ฐ๋จํ ๋ชฌ์คํฐ ์ฃฝ์ด๊ธฐ ์น ๊ฒ์์ ๋ง๋๋ ํ๋ก์ ํธ๋ฅผ ํ๊ฒ ๋๋ค. ์ด๊ณณ์์๋ html์ด๋ css๋ฅผ ๋์์ธํ์ง ์์ผ๋ฉฐ ์ค๋ก์ง javascript๋ฅผ ์กฐ์ํ๊ฒ ๋๋๋ฐ, ์ฒ์ ์์์ ํ๋ฉด์ ๋ค์๊ณผ ๊ฐ์ ๋ชจ์ต์ ๋ณผ ์ ์๋ค. ๋ค์์์ ๋ด๊ฐ ์ถ๊ฐ๋ก ๊ตฌํํ๊ณ ์ ํ๋ ๋ถ๋ถ์ ๋ฐ๋ก PLATER HEALTH์ ๋ฐ๋ก ์ ๋ถ๋ถ์ ์ฐ์ธ Bonus Life์๋ค. ๊ฐ์๋ฅผ ๊ทธ๋๋ก ๋ฐ๋ผํ๋ฉด, Bonus Life์ ๊ฒฝ์ฐ ์ ์ฒด ๊ฒ์์ด ๋์๊ฐ๋ ์ค ์ง๊ฑฐ๋ ์ด๊ธฐ๊ฑฐ๋ ๋น๊ฒจ์..
-
[JavaScript] null๊ณผ undefined, NaN์ ์ฐจ์ด์ ๊ฐ๋ฐ์ผ์ง/FE 2022. 12. 27. 16:34
์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฒ์ ๋ง์ฃผํ์ ๋ ๊ฐ์ฅ ํท๊ฐ๋ ธ๋ 3๊ฐ์ง์ ๋ํด ์ ๋ฆฌํ๊ณ ์ ํ๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์๋ ๋ค์๊ณผ ๊ฐ์ 3๊ฐ์ง๊ฐ ์กด์ฌํ๋ค. ๋ฐ๋ก null,undefined,NaN์ด๋ค. ๊ฐ์ฅ ๋จผ์ ํท๊ฐ๋ ธ๋ ๋ถ๋ถ์ ๋ฐ๋ก null ๊ณผ undefined์ ์ฐจ์ด์๋ค. ๋ ๋ชจ๋ javascript์ ํ์ ์ด๋ฉฐ ์์ ๊ฐ์ด๋ผ๊ณ ํ ์ ์๋ค. ๐์๋ฐ์คํฌ๋ฆฝํธ์ ์์ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ ๊ฐ์ ์๋ฏธํ๋ค. ๊ทธ๋ ๋ค๋ฉด ๋์ ๋์ผํ ๊ฒ์ผ๊น? ์ ๋ต๋ง ๋๊ณ ๋ณด์๋ฉด ๋์ ์์ฐํ ๋ค๋ฅธ ๊ฒ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค. ์ฐ๋ฆฌ๊ฐ ํ ๋ณ์๋ฅผ ์ ์ธํ ๋๋ ๋ค์๊ณผ ๊ฐ์ ํํ๋ฅผ ์ฌ์ฉํ๊ณ ๋ ํ๋ค. let value = [์ค์ ๋ก ๋ฃ์ ๊ฐ]; ์ด๋ ๊ฒ ๋ ๊ฒฝ์ฐ ๋ณ์๋ฅผ ์ ์ธํจ๊ณผ ๋์์ ํ์ ์ ๊ฒฐ์ ์ง์ ์ ์๋ค. ํ๋ ์ฝ๋ฉ์ ํ ๊ฒฝ์ฐ์๋ ๋ณ์์ string ๊ฐ์ ์ง์ด๋ฃ์ ๊ฒฝ์ฐ va..