Languages/Java Script
Improve your skills through various languages
-
ํด๋น ํฌ์คํ ์ "์ํ์ฝ๋ฉ"์ ์ด๊ณ ์ ๋์ ๊ฐ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฆฐ ๊ฒ์๊ธ ์ ๋๋ค. ์์ ์ ์ธ ์ฉ๋๊ฐ ์๋, ๊ฐ์ธ ๊ณต๋ถ ์ ๋ฆฌ ๋ชฉ์ ์ผ๋ก ์ฌ๋ฆฌ๋ ๊ธ์์ ๋ฏธ๋ฆฌ ์๋ฆฝ๋๋ค. Object Object ๊ฐ์ฒด๋ ๊ฐ์ฒด์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํํ๋ฅผ ๊ฐ์ง๊ณ ์๋ ๊ฐ์ฒด์ด๋ค. ๋ค์ ๋งํด์ ์๋ฌด๊ฒ๋ ์์๋ฐ์ง ์๋ ์์ํ ๊ฐ์ฒด๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์์๋ ๊ฐ์ ์ ์ฅํ๋ ๊ธฐ๋ณธ์ ์ธ ๋จ์๋ก Object๋ฅผ ์ฌ์ฉํ๋ค. ๋์์ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ชจ๋ ๊ฐ์ฒด๋ Object ๊ฐ์ฒด๋ฅผ ์์ ๋ฐ๋๋ฐ, ๊ทธ๋ฐ ์ด์ ๋ก ๋ชจ๋ ๊ฐ์ฒด๋ Object ๊ฐ์ฒด์ ํ๋กํผํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ์๋ก ๋ค์๋ฉด, ์ด์ ์๊ฐ์์ prototype์ ํตํด ์์์ ํด๋ณด์๋๋ฐ, ๊ทธ ์ค ์ต์ข ๊ฐ์ฒด๋ ์ฌ์ค ์์์ ๋ฐ๊ณ ์๋ค๋ ๊ฒ์ด๋ค. ์ฆ, ์ต์์ ์์์๊ฐ Object๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.(๋ถ๋ชจ์ ๋ถ๋ชจ! ์ฆ ๋ชจ๋ ๊ฐ์ฒด์..
[Js] Object | Object์ ํ์ฅ | Object APIํด๋น ํฌ์คํ ์ "์ํ์ฝ๋ฉ"์ ์ด๊ณ ์ ๋์ ๊ฐ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฆฐ ๊ฒ์๊ธ ์ ๋๋ค. ์์ ์ ์ธ ์ฉ๋๊ฐ ์๋, ๊ฐ์ธ ๊ณต๋ถ ์ ๋ฆฌ ๋ชฉ์ ์ผ๋ก ์ฌ๋ฆฌ๋ ๊ธ์์ ๋ฏธ๋ฆฌ ์๋ฆฝ๋๋ค. Object Object ๊ฐ์ฒด๋ ๊ฐ์ฒด์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํํ๋ฅผ ๊ฐ์ง๊ณ ์๋ ๊ฐ์ฒด์ด๋ค. ๋ค์ ๋งํด์ ์๋ฌด๊ฒ๋ ์์๋ฐ์ง ์๋ ์์ํ ๊ฐ์ฒด๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์์๋ ๊ฐ์ ์ ์ฅํ๋ ๊ธฐ๋ณธ์ ์ธ ๋จ์๋ก Object๋ฅผ ์ฌ์ฉํ๋ค. ๋์์ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ชจ๋ ๊ฐ์ฒด๋ Object ๊ฐ์ฒด๋ฅผ ์์ ๋ฐ๋๋ฐ, ๊ทธ๋ฐ ์ด์ ๋ก ๋ชจ๋ ๊ฐ์ฒด๋ Object ๊ฐ์ฒด์ ํ๋กํผํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ์๋ก ๋ค์๋ฉด, ์ด์ ์๊ฐ์์ prototype์ ํตํด ์์์ ํด๋ณด์๋๋ฐ, ๊ทธ ์ค ์ต์ข ๊ฐ์ฒด๋ ์ฌ์ค ์์์ ๋ฐ๊ณ ์๋ค๋ ๊ฒ์ด๋ค. ์ฆ, ์ต์์ ์์์๊ฐ Object๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.(๋ถ๋ชจ์ ๋ถ๋ชจ! ์ฆ ๋ชจ๋ ๊ฐ์ฒด์..
2021.02.04 -
ํด๋น ํฌ์คํ ์ "์ํ์ฝ๋ฉ"์ ์ด๊ณ ์ ๋์ ๊ฐ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฆฐ ๊ฒ์๊ธ ์ ๋๋ค. ์์ ์ ์ธ ์ฉ๋๊ฐ ์๋, ๊ฐ์ธ ๊ณต๋ถ ์ ๋ฆฌ ๋ชฉ์ ์ผ๋ก ์ฌ๋ฆฌ๋ ๊ธ์์ ๋ฏธ๋ฆฌ ์๋ฆฝ๋๋ค. ํ์ค ๋ด์ฅ ๊ฐ์ฒด์ ํ์ฅ ํ์ค ๋ด์ฅ ๊ฐ์ฒด(Standard Built-in Object)๋ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ง๊ณ ์๋ ๊ฐ์ฒด๋ค์ ์๋ฏธํ๋ค. ๋ด์ฅ ๊ฐ์ฒด๊ฐ ์ค์ํ ์ด์ ๋ ํ๋ก๊ทธ๋๋ฐ์ ํ๋๋ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ํ ๋๊ตฌ๋ค์ด๊ธฐ ๋๋ฌธ์๋ค. ๊ฒฐ๊ตญ ํ๋ก๊ทธ๋๋ฐ์ด๋ผ๋ ๊ฒ์ ์ธ์ด์ ํธ์คํธ ํ๊ฒฝ์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ๋ค์ ํตํด์ ์๋ก์ด ์ํํธ์จ์ด๋ฅผ ๋ง๋ค์ด๋ด๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋ด์ฅ ๊ฐ์ฒด์ ๋ํ ์ดํด๋ ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ๋ณธ์ด๋ผ๊ณ ํ ์ ์๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ์๋์ ๊ฐ์ ๋ด์ฅ ๊ฐ์ฒด๋ฅผ ๊ฐ์ง๊ณ ์๋ค. Object Function Array String Boolean Number Math D..
[Js] ํ์ค ๋ด์ฅ ๊ฐ์ฒด์ ํ์ฅ | Standard Built-in Objectํด๋น ํฌ์คํ ์ "์ํ์ฝ๋ฉ"์ ์ด๊ณ ์ ๋์ ๊ฐ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฆฐ ๊ฒ์๊ธ ์ ๋๋ค. ์์ ์ ์ธ ์ฉ๋๊ฐ ์๋, ๊ฐ์ธ ๊ณต๋ถ ์ ๋ฆฌ ๋ชฉ์ ์ผ๋ก ์ฌ๋ฆฌ๋ ๊ธ์์ ๋ฏธ๋ฆฌ ์๋ฆฝ๋๋ค. ํ์ค ๋ด์ฅ ๊ฐ์ฒด์ ํ์ฅ ํ์ค ๋ด์ฅ ๊ฐ์ฒด(Standard Built-in Object)๋ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ง๊ณ ์๋ ๊ฐ์ฒด๋ค์ ์๋ฏธํ๋ค. ๋ด์ฅ ๊ฐ์ฒด๊ฐ ์ค์ํ ์ด์ ๋ ํ๋ก๊ทธ๋๋ฐ์ ํ๋๋ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ํ ๋๊ตฌ๋ค์ด๊ธฐ ๋๋ฌธ์๋ค. ๊ฒฐ๊ตญ ํ๋ก๊ทธ๋๋ฐ์ด๋ผ๋ ๊ฒ์ ์ธ์ด์ ํธ์คํธ ํ๊ฒฝ์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ๋ค์ ํตํด์ ์๋ก์ด ์ํํธ์จ์ด๋ฅผ ๋ง๋ค์ด๋ด๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋ด์ฅ ๊ฐ์ฒด์ ๋ํ ์ดํด๋ ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ๋ณธ์ด๋ผ๊ณ ํ ์ ์๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ์๋์ ๊ฐ์ ๋ด์ฅ ๊ฐ์ฒด๋ฅผ ๊ฐ์ง๊ณ ์๋ค. Object Function Array String Boolean Number Math D..
2021.02.04 -
ํด๋น ํฌ์คํ ์ "์ํ์ฝ๋ฉ"์ ์ด๊ณ ์ ๋์ ๊ฐ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฆฐ ๊ฒ์๊ธ ์ ๋๋ค. ์์ ์ ์ธ ์ฉ๋๊ฐ ์๋, ๊ฐ์ธ ๊ณต๋ถ ์ ๋ฆฌ ๋ชฉ์ ์ผ๋ก ์ฌ๋ฆฌ๋ ๊ธ์์ ๋ฏธ๋ฆฌ ์๋ฆฝ๋๋ค. ์ด๋ฒ ์์ ์ ์์์์ ์ ์ฐ์ฅ์ ์์ ์๋ค. ์์์ ๊ตฌ์ฒด์ ์ธ ์๋จ์ธ prototype์ ๋ํด์ ์์ธํ ์์๋ณด์. prototype์ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐ์ฒด์งํฅ์ ์งํฑํ๊ณ ์๋ ํต์ฌ์ ์ธ ๊ฐ๋ ์ด๋ฉฐ, ๋ค๋ฅธ ์ผ๋ฐ์ ์ธ ๊ฐ์ฒด์งํฅ ์ธ์ด์ ๊ตฌ๋ถํ๋ ์ค์ํ ๊ฐ๋ ์ด๋ผ๊ณ ํ ์ ์๋ค. prototype ํ๊ตญ์ด๋ก๋ ์ํ์ ๋๋ก ๋ฒ์ญ๋๋ prototype์ ๋ง ๊ทธ๋๋ก ๊ฐ์ฒด์ ์ํ์ด๋ผ๊ณ ํ ์ ์๋ค. ํจ์๋ ๊ฐ์ฒด๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์์ฑ์๋ก ์ฌ์ฉ๋ ํจ์๋ ๊ฐ์ฒด๋ค. ๊ฐ์ฒด๋ ํ๋กํผํฐ๋ฅผ ๊ฐ์ง ์ ์๋๋ฐ prototype์ด๋ผ๋ ํ๋กํผํฐ๋ ๊ทธ ์ฉ๋๊ฐ ์ฝ์๋์ด ์๋ ํน์ํ ํ๋กํผํฐ๋ค. prototyp..
[Js] prototype | ์์ | javascript ์์ํด๋น ํฌ์คํ ์ "์ํ์ฝ๋ฉ"์ ์ด๊ณ ์ ๋์ ๊ฐ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฆฐ ๊ฒ์๊ธ ์ ๋๋ค. ์์ ์ ์ธ ์ฉ๋๊ฐ ์๋, ๊ฐ์ธ ๊ณต๋ถ ์ ๋ฆฌ ๋ชฉ์ ์ผ๋ก ์ฌ๋ฆฌ๋ ๊ธ์์ ๋ฏธ๋ฆฌ ์๋ฆฝ๋๋ค. ์ด๋ฒ ์์ ์ ์์์์ ์ ์ฐ์ฅ์ ์์ ์๋ค. ์์์ ๊ตฌ์ฒด์ ์ธ ์๋จ์ธ prototype์ ๋ํด์ ์์ธํ ์์๋ณด์. prototype์ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐ์ฒด์งํฅ์ ์งํฑํ๊ณ ์๋ ํต์ฌ์ ์ธ ๊ฐ๋ ์ด๋ฉฐ, ๋ค๋ฅธ ์ผ๋ฐ์ ์ธ ๊ฐ์ฒด์งํฅ ์ธ์ด์ ๊ตฌ๋ถํ๋ ์ค์ํ ๊ฐ๋ ์ด๋ผ๊ณ ํ ์ ์๋ค. prototype ํ๊ตญ์ด๋ก๋ ์ํ์ ๋๋ก ๋ฒ์ญ๋๋ prototype์ ๋ง ๊ทธ๋๋ก ๊ฐ์ฒด์ ์ํ์ด๋ผ๊ณ ํ ์ ์๋ค. ํจ์๋ ๊ฐ์ฒด๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์์ฑ์๋ก ์ฌ์ฉ๋ ํจ์๋ ๊ฐ์ฒด๋ค. ๊ฐ์ฒด๋ ํ๋กํผํฐ๋ฅผ ๊ฐ์ง ์ ์๋๋ฐ prototype์ด๋ผ๋ ํ๋กํผํฐ๋ ๊ทธ ์ฉ๋๊ฐ ์ฝ์๋์ด ์๋ ํน์ํ ํ๋กํผํฐ๋ค. prototyp..
2021.02.04 -
ํด๋น ํฌ์คํ ์ "์ํ์ฝ๋ฉ"์ ์ด๊ณ ์ ๋์ ๊ฐ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฆฐ ๊ฒ์๊ธ ์ ๋๋ค. ์์ ์ ์ธ ์ฉ๋๊ฐ ์๋, ๊ฐ์ธ ๊ณต๋ถ ์ ๋ฆฌ ๋ชฉ์ ์ผ๋ก ์ฌ๋ฆฌ๋ ๊ธ์์ ๋ฏธ๋ฆฌ ์๋ฆฝ๋๋ค. ์์(inheritance)์ด๋? ๊ฐ์ฒด๋ ์ฐ๊ด๋ ๋ก์ง๋ค๋ก ์ด๋ฃจ์ด์ง ์์ ํ๋ก๊ทธ๋จ์ด๋ผ๊ณ ํ ์ ์๋ค. ์์์ ๊ฐ์ฒด์ ๋ก์ง์ ๊ทธ๋๋ก ๋ฌผ๋ ค ๋ฐ๋ ๋ ๋ค๋ฅธ ๊ฐ์ฒด๋ฅผ ๋ง๋ค ์ ์๋ ๊ธฐ๋ฅ์ ์๋ฏธํ๋ค. ๋จ์ํ ๋ฌผ๋ ค๋ฐ๋ ๊ฒ์ด๋ผ๋ฉด ์๋ฏธ๊ฐ ์์ ๊ฒ์ด๋ค. ๊ธฐ์กด์ ๋ก์ง์ ์์ ํ๊ณ ๋ณ๊ฒฝํด์ ํ์๋ ์๋ก์ด ๊ฐ์ฒด๋ฅผ ๋ง๋ค ์ ์๊ฒ ํด์ค๋ค. ์ฆ, ์ฝ๊ฒ ์ค๋ช ํ์๋ฉด ๊ฐ์ฒด๋ ๋ณ์์ ๋ฉ์๋๋ฅผ ๋ฌถ์ด๋์ ๋ฌถ์ ์ด๋ผ๊ณ ๋ณด๊ณ ์ด๋ฌํ ๊ฐ์ฒด์ ์์ฑ์ ๊ทธ๋๋ก ๋ฌผ๋ ค๋ฐ์ ์๋ ๊ฐ์ฒด (๋ถ๋ชจ๊ฐ์ฒด์ ๋ณ์์ ๋ฉ์๋ ๋ฅผ ๋ฌผ๋ ค๋ฐ์) ๋ฅผ ๋ง๋ค๊ณ , ์์ ํ๊ณ ๋ณ๊ฒฝ๊ฐ๋ฅํ ๊ฒ์ด ๋ฐ๋ก ์์์ธ ๊ฒ์ด๋ค. ์๋ ์ฝ๋๋ ์ด์ ์๊ฐ์ ..
[Js] ์์ | javascript์์ | prototypeํด๋น ํฌ์คํ ์ "์ํ์ฝ๋ฉ"์ ์ด๊ณ ์ ๋์ ๊ฐ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฆฐ ๊ฒ์๊ธ ์ ๋๋ค. ์์ ์ ์ธ ์ฉ๋๊ฐ ์๋, ๊ฐ์ธ ๊ณต๋ถ ์ ๋ฆฌ ๋ชฉ์ ์ผ๋ก ์ฌ๋ฆฌ๋ ๊ธ์์ ๋ฏธ๋ฆฌ ์๋ฆฝ๋๋ค. ์์(inheritance)์ด๋? ๊ฐ์ฒด๋ ์ฐ๊ด๋ ๋ก์ง๋ค๋ก ์ด๋ฃจ์ด์ง ์์ ํ๋ก๊ทธ๋จ์ด๋ผ๊ณ ํ ์ ์๋ค. ์์์ ๊ฐ์ฒด์ ๋ก์ง์ ๊ทธ๋๋ก ๋ฌผ๋ ค ๋ฐ๋ ๋ ๋ค๋ฅธ ๊ฐ์ฒด๋ฅผ ๋ง๋ค ์ ์๋ ๊ธฐ๋ฅ์ ์๋ฏธํ๋ค. ๋จ์ํ ๋ฌผ๋ ค๋ฐ๋ ๊ฒ์ด๋ผ๋ฉด ์๋ฏธ๊ฐ ์์ ๊ฒ์ด๋ค. ๊ธฐ์กด์ ๋ก์ง์ ์์ ํ๊ณ ๋ณ๊ฒฝํด์ ํ์๋ ์๋ก์ด ๊ฐ์ฒด๋ฅผ ๋ง๋ค ์ ์๊ฒ ํด์ค๋ค. ์ฆ, ์ฝ๊ฒ ์ค๋ช ํ์๋ฉด ๊ฐ์ฒด๋ ๋ณ์์ ๋ฉ์๋๋ฅผ ๋ฌถ์ด๋์ ๋ฌถ์ ์ด๋ผ๊ณ ๋ณด๊ณ ์ด๋ฌํ ๊ฐ์ฒด์ ์์ฑ์ ๊ทธ๋๋ก ๋ฌผ๋ ค๋ฐ์ ์๋ ๊ฐ์ฒด (๋ถ๋ชจ๊ฐ์ฒด์ ๋ณ์์ ๋ฉ์๋ ๋ฅผ ๋ฌผ๋ ค๋ฐ์) ๋ฅผ ๋ง๋ค๊ณ , ์์ ํ๊ณ ๋ณ๊ฒฝ๊ฐ๋ฅํ ๊ฒ์ด ๋ฐ๋ก ์์์ธ ๊ฒ์ด๋ค. ์๋ ์ฝ๋๋ ์ด์ ์๊ฐ์ ..
2021.02.04 -
ํด๋น ํฌ์คํ ์ "์ํ์ฝ๋ฉ"์ ์ด๊ณ ์ ๋์ ๊ฐ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฆฐ ๊ฒ์๊ธ ์ ๋๋ค. ์์ ์ ์ธ ์ฉ๋๊ฐ ์๋, ๊ฐ์ธ ๊ณต๋ถ ์ ๋ฆฌ ๋ชฉ์ ์ผ๋ก ์ฌ๋ฆฌ๋ ๊ธ์์ ๋ฏธ๋ฆฌ ์๋ฆฝ๋๋ค. this this๋ ํจ์ ๋ด์์ ํจ์ ํธ์ถ ๋งฅ๋ฝ(context)๋ฅผ ์๋ฏธํ๋ค. ๋งฅ๋ฝ์ด๋ผ๋ ๊ฒ์ ์ํฉ์ ๋ฐ๋ผ์ ๋ฌ๋ผ์ง๋ค๋ ์๋ฏธ์ธ๋ฐ ์ฆ ํจ์๋ฅผ ์ด๋ป๊ฒ ํธ์ถํ๋๋์ ๋ฐ๋ผ์ this๊ฐ ๊ฐ๋ฆฌํค๋ ๋์์ด ๋ฌ๋ผ์ง๋ค๋ ๋ป์ด๋ค. ํจ์์ ๊ฐ์ฒด์ ๊ด๊ณ๊ฐ ๋์จํ ์๋ฐ์คํฌ๋ฆฝํธ์์ this๋ ์ด ๋์ ์ฐ๊ฒฐ์์ผ์ฃผ๋ ์ค์ง์ ์ธ ์ฐ๊ฒฐ์ ์ ์ญํ ์ ํ๋ค. ์ฆ this๋ ์ฝ์๋ ๋ณ์๋ผ๊ณ ํ ์ ์์ผ๋ฉฐ, ํจ์์์์ ์ฌ์ฉํ ์ ์๋ ์ผ์ข ์ ๋ณ์์ด๋ค. ์ด ๊ฐ์ ์๋ฏธ๋ ํจ์๋ฅผ ์ด๋ป๊ฒ ํธ์ถํ๋๋์ ๋ฐ๋ผ์ ๋ฌ๋ผ์ง๋ค๋ ๋ป์ด๋ค. ํจ์ํธ์ถ ํจ์๋ฅผ ํธ์ถํ์ ๋ this๋ ๋ฌด์์ ๊ฐ๋ฅดํค๋์ง ์ดํด๋ณด์. thi..
[Js] this | ํจ์ํธ์ถ | ๋ฉ์๋์ ํธ์ถ | allpy, call | ๊ฐ์ฒดํด๋น ํฌ์คํ ์ "์ํ์ฝ๋ฉ"์ ์ด๊ณ ์ ๋์ ๊ฐ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฆฐ ๊ฒ์๊ธ ์ ๋๋ค. ์์ ์ ์ธ ์ฉ๋๊ฐ ์๋, ๊ฐ์ธ ๊ณต๋ถ ์ ๋ฆฌ ๋ชฉ์ ์ผ๋ก ์ฌ๋ฆฌ๋ ๊ธ์์ ๋ฏธ๋ฆฌ ์๋ฆฝ๋๋ค. this this๋ ํจ์ ๋ด์์ ํจ์ ํธ์ถ ๋งฅ๋ฝ(context)๋ฅผ ์๋ฏธํ๋ค. ๋งฅ๋ฝ์ด๋ผ๋ ๊ฒ์ ์ํฉ์ ๋ฐ๋ผ์ ๋ฌ๋ผ์ง๋ค๋ ์๋ฏธ์ธ๋ฐ ์ฆ ํจ์๋ฅผ ์ด๋ป๊ฒ ํธ์ถํ๋๋์ ๋ฐ๋ผ์ this๊ฐ ๊ฐ๋ฆฌํค๋ ๋์์ด ๋ฌ๋ผ์ง๋ค๋ ๋ป์ด๋ค. ํจ์์ ๊ฐ์ฒด์ ๊ด๊ณ๊ฐ ๋์จํ ์๋ฐ์คํฌ๋ฆฝํธ์์ this๋ ์ด ๋์ ์ฐ๊ฒฐ์์ผ์ฃผ๋ ์ค์ง์ ์ธ ์ฐ๊ฒฐ์ ์ ์ญํ ์ ํ๋ค. ์ฆ this๋ ์ฝ์๋ ๋ณ์๋ผ๊ณ ํ ์ ์์ผ๋ฉฐ, ํจ์์์์ ์ฌ์ฉํ ์ ์๋ ์ผ์ข ์ ๋ณ์์ด๋ค. ์ด ๊ฐ์ ์๋ฏธ๋ ํจ์๋ฅผ ์ด๋ป๊ฒ ํธ์ถํ๋๋์ ๋ฐ๋ผ์ ๋ฌ๋ผ์ง๋ค๋ ๋ป์ด๋ค. ํจ์ํธ์ถ ํจ์๋ฅผ ํธ์ถํ์ ๋ this๋ ๋ฌด์์ ๊ฐ๋ฅดํค๋์ง ์ดํด๋ณด์. thi..
2021.02.04 -
ํด๋น ํฌ์คํ ์ "์ํ์ฝ๋ฉ"์ ์ด๊ณ ์ ๋์ ๊ฐ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฆฐ ๊ฒ์๊ธ ์ ๋๋ค. ์์ ์ ์ธ ์ฉ๋๊ฐ ์๋, ๊ฐ์ธ ๊ณต๋ถ ์ ๋ฆฌ ๋ชฉ์ ์ผ๋ก ์ฌ๋ฆฌ๋ ๊ธ์์ ๋ฏธ๋ฆฌ ์๋ฆฝ๋๋ค. ์ ์ญ๊ฐ์ฒด๋? ์ ์ญ๊ฐ์ฒด(Global object)๋ ํน์ํ ๊ฐ์ฒด๋ค. ๋ชจ๋ ๊ฐ์ฒด๋ ์ด ์ ์ญ๊ฐ์ฒด์ ํ๋กํผํฐ๋ค. func();์ window.func();๋ ๋ชจ๋ ์คํ์ด ๋๋ค. ๋ชจ๋ ์ ์ญ๋ณ์์ ํจ์๋ ์ฌ์ค window ๊ฐ์ฒด์ ํ๋กํผํฐ๋ค. ๊ฐ์ฒด๋ฅผ ๋ช ์ํ์ง ์์ผ๋ฉด ์์์ ์ผ๋ก window์ ํ๋กํผํฐ๋ก ๊ฐ์ฃผ๋๋ค. ํ์์ ๊ทธ๋ฅ ํธํ๊ฒ ์ฌ์ฉํ๊ธฐ ์ํด ์๋ตํด์ ์ฌ์ฉํ๋ ๊ฒ์ผ ๋ฟ์ด๋ค. ๋ด๋ถ์ ์ผ๋ก ๋ช ์ํ ๊ฒ๊ณผ ๊ฐ๊ฒ ๋์ํ๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ์๋์ฐ๋ผ๋ ์ ์ญ๊ฐ์ฒด์ ํ๋กํผํฐ ์ด๋ฏ๋ก, ๊ฐ์ฒด๋ผ๋ ๊ฒ์ ๋ชจ๋ ๊ฒ์ด ์ข ์๋์ด ์๊ธฐ ๋๋ฌธ์ ๊ฐ์ฒด ์งํฅ์ธ์ด๋ผ๊ณ ํ๋ ๊ฒ์ด๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ชจ..
[Js] ์ ์ญ ๊ฐ์ฒด | ์ ์ญ๊ฐ์ฒด APIํด๋น ํฌ์คํ ์ "์ํ์ฝ๋ฉ"์ ์ด๊ณ ์ ๋์ ๊ฐ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฆฐ ๊ฒ์๊ธ ์ ๋๋ค. ์์ ์ ์ธ ์ฉ๋๊ฐ ์๋, ๊ฐ์ธ ๊ณต๋ถ ์ ๋ฆฌ ๋ชฉ์ ์ผ๋ก ์ฌ๋ฆฌ๋ ๊ธ์์ ๋ฏธ๋ฆฌ ์๋ฆฝ๋๋ค. ์ ์ญ๊ฐ์ฒด๋? ์ ์ญ๊ฐ์ฒด(Global object)๋ ํน์ํ ๊ฐ์ฒด๋ค. ๋ชจ๋ ๊ฐ์ฒด๋ ์ด ์ ์ญ๊ฐ์ฒด์ ํ๋กํผํฐ๋ค. func();์ window.func();๋ ๋ชจ๋ ์คํ์ด ๋๋ค. ๋ชจ๋ ์ ์ญ๋ณ์์ ํจ์๋ ์ฌ์ค window ๊ฐ์ฒด์ ํ๋กํผํฐ๋ค. ๊ฐ์ฒด๋ฅผ ๋ช ์ํ์ง ์์ผ๋ฉด ์์์ ์ผ๋ก window์ ํ๋กํผํฐ๋ก ๊ฐ์ฃผ๋๋ค. ํ์์ ๊ทธ๋ฅ ํธํ๊ฒ ์ฌ์ฉํ๊ธฐ ์ํด ์๋ตํด์ ์ฌ์ฉํ๋ ๊ฒ์ผ ๋ฟ์ด๋ค. ๋ด๋ถ์ ์ผ๋ก ๋ช ์ํ ๊ฒ๊ณผ ๊ฐ๊ฒ ๋์ํ๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ์๋์ฐ๋ผ๋ ์ ์ญ๊ฐ์ฒด์ ํ๋กํผํฐ ์ด๋ฏ๋ก, ๊ฐ์ฒด๋ผ๋ ๊ฒ์ ๋ชจ๋ ๊ฒ์ด ์ข ์๋์ด ์๊ธฐ ๋๋ฌธ์ ๊ฐ์ฒด ์งํฅ์ธ์ด๋ผ๊ณ ํ๋ ๊ฒ์ด๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ชจ..
2021.02.04 -
ํด๋น ํฌ์คํ ์ "์ํ์ฝ๋ฉ"์ ์ด๊ณ ์ ๋์ ๊ฐ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฆฐ ๊ฒ์๊ธ ์ ๋๋ค. ์์ ์ ์ธ ์ฉ๋๊ฐ ์๋, ๊ฐ์ธ ๊ณต๋ถ ์ ๋ฆฌ ๋ชฉ์ ์ผ๋ก ์ฌ๋ฆฌ๋ ๊ธ์์ ๋ฏธ๋ฆฌ ์๋ฆฝ๋๋ค. ์์ฑ์์ new ๊ฐ์ฒด ์๋ฐ์คํฌ๋ฆฝํธ ์ธ์ด์ ์ํ๋ ๊ณ์ด์ ์ธ์ด๋ค์ prototype - based programming์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ๊ฐ์ฒด๋ ์๋ก ์ฐ๊ด๋ ๋ณ์์ ํจ์๋ฅผ ๊ทธ๋ฃนํํ ๊ทธ๋ฆ์ด๋ผ๊ณ ํ ์ ์๋ค. ๊ฐ์ฒด ๋ด์ ๋ณ์๋ฅผ ํ๋กํผํฐ(property) ํจ์๋ฅผ ๋ฉ์๋(method)๋ผ๊ณ ๋ถ๋ฅธ๋ค. ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด๋ณด์. ์ ์ฝ๋์์ this๋ ํจ์๊ฐ ์ํด์๋ ๊ฐ์ฒด ์ฆ person์ด๋ผ๋ ๋ณ์๊ฐ ๋ด๊ณ ์๋ ๊ฐ์ฒด๋ฅผ ์๋ฏธํ๋ค. ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๊ณผ์ ์ ๋ถ์ฐ๋์ด ์๋ค. ๊ฐ์ฒด๋ฅผ ์ ์ ํ ๋ ๊ฐ์ ์ ํ ํ๋๋ก ์ฝ๋๋ฅผ ๋ฐ๊ฟ๋ณด์. ๊ฐ๋ ์ฑ๋ ์ข๊ณ , ๋ด์ฉ์ด ์ค๊ฐ์ ๋ผ์ด๋ค๊ฑฐ๋ ๋ณ์กฐ๋๋ ์ํฉ์ ..
[Js] ์์ฑ์์ new | javascript์ ๊ฐ์ฒด ์งํฅ ํน์ง | ๊ฐ์ฒดํด๋น ํฌ์คํ ์ "์ํ์ฝ๋ฉ"์ ์ด๊ณ ์ ๋์ ๊ฐ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฆฐ ๊ฒ์๊ธ ์ ๋๋ค. ์์ ์ ์ธ ์ฉ๋๊ฐ ์๋, ๊ฐ์ธ ๊ณต๋ถ ์ ๋ฆฌ ๋ชฉ์ ์ผ๋ก ์ฌ๋ฆฌ๋ ๊ธ์์ ๋ฏธ๋ฆฌ ์๋ฆฝ๋๋ค. ์์ฑ์์ new ๊ฐ์ฒด ์๋ฐ์คํฌ๋ฆฝํธ ์ธ์ด์ ์ํ๋ ๊ณ์ด์ ์ธ์ด๋ค์ prototype - based programming์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ๊ฐ์ฒด๋ ์๋ก ์ฐ๊ด๋ ๋ณ์์ ํจ์๋ฅผ ๊ทธ๋ฃนํํ ๊ทธ๋ฆ์ด๋ผ๊ณ ํ ์ ์๋ค. ๊ฐ์ฒด ๋ด์ ๋ณ์๋ฅผ ํ๋กํผํฐ(property) ํจ์๋ฅผ ๋ฉ์๋(method)๋ผ๊ณ ๋ถ๋ฅธ๋ค. ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด๋ณด์. ์ ์ฝ๋์์ this๋ ํจ์๊ฐ ์ํด์๋ ๊ฐ์ฒด ์ฆ person์ด๋ผ๋ ๋ณ์๊ฐ ๋ด๊ณ ์๋ ๊ฐ์ฒด๋ฅผ ์๋ฏธํ๋ค. ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๊ณผ์ ์ ๋ถ์ฐ๋์ด ์๋ค. ๊ฐ์ฒด๋ฅผ ์ ์ ํ ๋ ๊ฐ์ ์ ํ ํ๋๋ก ์ฝ๋๋ฅผ ๋ฐ๊ฟ๋ณด์. ๊ฐ๋ ์ฑ๋ ์ข๊ณ , ๋ด์ฉ์ด ์ค๊ฐ์ ๋ผ์ด๋ค๊ฑฐ๋ ๋ณ์กฐ๋๋ ์ํฉ์ ..
2021.02.04 -
ํด๋น ํฌ์คํ ์ "์ํ์ฝ๋ฉ"์ ์ด๊ณ ์ ๋์ ๊ฐ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฆฐ ๊ฒ์๊ธ ์ ๋๋ค. ์์ ์ ์ธ ์ฉ๋๊ฐ ์๋, ๊ฐ์ธ ๊ณต๋ถ ์ ๋ฆฌ ๋ชฉ์ ์ผ๋ก ์ฌ๋ฆฌ๋ ๊ธ์์ ๋ฏธ๋ฆฌ ์๋ฆฝ๋๋ค. ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ(Object-Oriented Programming)์ ์ข ๋ ๋์ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ธฐ ์ํ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์ผ๋ก ๋ก์ง์ ์ํ(state)์ ํ์(behave)๋ก ์ด๋ฃจ์ด์ง ๊ฐ์ฒด๋ก ๋ง๋๋ ๊ฒ์ด๋ค. ์ด ๊ฐ์ฒด๋ค์ ๋ง์น ๋ ๊ณ ๋ธ๋ญ์ฒ๋ผ ์กฐ๋ฆฝํด์ ํ๋์ ํ๋ก๊ทธ๋จ์ ๋ง๋๋ ๊ฒ์ด ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด๋ผ๊ณ ํ ์ ์๋ค. ๋ค์ ๋งํด์ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์์์ ๊ฐ์ฒด๋ ๋ฌด์์ธ๊ฐ๋ฅผ ์ดํดํ๋ ๊ฒ์ด๋ผ๊ณ ํ ์ ์๋ค. ๋ง์ด ์ด๋ ต๊ฒ ๋๊ปด์ง์ง ์๋๊ฐ? ๊ทธ๊ฒ์ ์์ง ๊ฐ์ฒด ์งํฅ์ ๋ํ ์ฒดํ์ด..
[Js] ๊ฐ์ฒด์งํฅ | javascript ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ | ๋ฌธ๋ฒํด๋น ํฌ์คํ ์ "์ํ์ฝ๋ฉ"์ ์ด๊ณ ์ ๋์ ๊ฐ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฆฐ ๊ฒ์๊ธ ์ ๋๋ค. ์์ ์ ์ธ ์ฉ๋๊ฐ ์๋, ๊ฐ์ธ ๊ณต๋ถ ์ ๋ฆฌ ๋ชฉ์ ์ผ๋ก ์ฌ๋ฆฌ๋ ๊ธ์์ ๋ฏธ๋ฆฌ ์๋ฆฝ๋๋ค. ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ(Object-Oriented Programming)์ ์ข ๋ ๋์ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ธฐ ์ํ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์ผ๋ก ๋ก์ง์ ์ํ(state)์ ํ์(behave)๋ก ์ด๋ฃจ์ด์ง ๊ฐ์ฒด๋ก ๋ง๋๋ ๊ฒ์ด๋ค. ์ด ๊ฐ์ฒด๋ค์ ๋ง์น ๋ ๊ณ ๋ธ๋ญ์ฒ๋ผ ์กฐ๋ฆฝํด์ ํ๋์ ํ๋ก๊ทธ๋จ์ ๋ง๋๋ ๊ฒ์ด ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด๋ผ๊ณ ํ ์ ์๋ค. ๋ค์ ๋งํด์ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์์์ ๊ฐ์ฒด๋ ๋ฌด์์ธ๊ฐ๋ฅผ ์ดํดํ๋ ๊ฒ์ด๋ผ๊ณ ํ ์ ์๋ค. ๋ง์ด ์ด๋ ต๊ฒ ๋๊ปด์ง์ง ์๋๊ฐ? ๊ทธ๊ฒ์ ์์ง ๊ฐ์ฒด ์งํฅ์ ๋ํ ์ฒดํ์ด..
2021.02.04