javascript

Web/JavaScript

[JavaScript] this

this ํ‚ค์›Œ๋“œ ๊ฐ์ฒด : ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ํ”„๋กœํผํ‹ฐ์™€ ๋™์ž‘์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ํ•˜๋‚˜์˜ ๋…ผ๋ฆฌ์ ์ธ ๋‹จ์œ„๋กœ ๋ฌถ์€ ๋ณตํ•ฉ์ ์ธ ์ž๋ฃŒ๊ตฌ์กฐ ๋™์ž‘์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฉ”์„œ๋“œ๋Š” ์ž์‹ ์ด ์†ํ•œ ๊ฐ์ฒด์˜ ์ƒํƒœ(ํ”„๋กœํผํ‹ฐ)๋ฅผ ์ฐธ์กฐํ•˜๊ณ  ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. → ์ž์‹ ์ด ์†ํ•œ ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์‹๋ณ„์ž๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. this : ์ž์‹ ์ด ์†ํ•œ ๊ฐ์ฒด ๋˜๋Š” ์ž์‹ ์ด ์ƒ์„ฑํ•  ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ž๊ธฐ ์ฐธ์กฐ ๋ณ€์ˆ˜ this ๋ฐ”์ธ๋”ฉ์€ ํ•จ์ˆ˜ ํ˜ธ์ถœ ๋ฐฉ์‹์— ์˜ํ•ด ๋™์ ์œผ๋กœ ๊ฒฐ์ •๋œ๋‹ค. this ๋ฐ”์ธ๋”ฉ ๋ฐ”์ธ๋”ฉ์ด๋ž€ ์‹๋ณ„์ž์™€ ๊ฐ’์„ ์—ฐ๊ฒฐํ•˜๋Š” ๊ณผ์ •์„ ์˜๋ฏธํ•œ๋‹ค. (this์™€ this๊ฐ€ ๊ฐ€๋ฆฌํ‚ฌ ๊ฐ์ฒด๋ฅผ ๋ฐ”์ธ๋”ฉ) ์ „์—ญ์—์„œ this๋Š” ์ „์—ญ ๊ฐ์ฒด window๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค. (๊ธฐ๋ณธ๊ฐ’) ์ผ๋ฐ˜ ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ this๋Š” ์ „์—ญ ๊ฐ์ฒด window๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค. ๋ฉ”์„œ๋“œ ๋‚ด๋ถ€์—์„œ this๋Š” ๋ฉ”์„œ๋“œ..

Web/JavaScript

[JavaScript] ๋ณ€์ˆ˜ ํ˜ธ์ด์ŠคํŒ…

Hoisting(ํ˜ธ์ด์ŠคํŒ…)? ์Šค์ฝ”ํ”„ ๋‚ด๋ถ€์—์„œ ๋ณ€์ˆ˜ ์„ ์–ธ์ด ์ตœ์ƒ๋‹จ์œผ๋กœ ๋Œ์–ด์˜ฌ๋ ค์ง„ ๊ฒƒ์ฒ˜๋Ÿผ ๋™์ž‘ํ•˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํŠน์ง• ๋ณ€์ˆ˜์˜ ์ข…๋ฅ˜ var โžก๏ธ ํ•จ์ˆ˜ ๋ ˆ๋ฒจ ์Šค์ฝ”ํ”„ let(ES6) โžก๏ธ ๋ธ”๋ก ๋ ˆ๋ฒจ ์Šค์ฝ”ํ”„ const(ES6) โžก๏ธ ๋ธ”๋ก ๋ ˆ๋ฒจ ์Šค์ฝ”ํ”„ ํ•จ์ˆ˜ ๋ ˆ๋ฒจ ์Šค์ฝ”ํ”„ : ๋ณ€์ˆ˜์˜ ์œ ํšจ๋ฒ”์œ„๊ฐ€ ํ•จ์ˆ˜ ๋‚ด๋กœ ์ œํ•œ ๋ธ”๋ก ๋ ˆ๋ฒจ ์Šค์ฝ”ํ”„ : ๋ณ€์ˆ˜์˜ ์œ ํšจ๋ฒ”์œ„๊ฐ€ ๋ธ”๋ก(ํ•จ์ˆ˜, if, for, while, try/catch ๋“ฑ) ๋‚ด๋กœ ์ œํ•œ ๋ณ€์ˆ˜์˜ ์ƒ์„ฑ ๊ณผ์ • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ณ€์ˆ˜๋Š” ๋‹ค์Œ 3๋‹จ๊ณ„์˜ ๊ณผ์ •์„ ํ†ตํ•ด ์ƒ์„ฑ๋œ๋‹ค. ์„ ์–ธ ๋‹จ๊ณ„ : ๊ฐ’์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ™•๋ณดํ•˜๊ณ  ๋ณ€์ˆ˜ ์ด๋ฆ„๊ณผ ํ™•๋ณด๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์˜ ์ฃผ์†Œ๋ฅผ ์—ฐ๊ฒฐํ•ด์„œ ๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ค€๋น„(๋ณ€์ˆ˜ ์ด๋ฆ„ ๋“ฑ๋ก) ๋ณ€์ˆ˜ ์„ ์–ธ์€ ์†Œ์Šค์ฝ”๋“œ๊ฐ€ ํ•œ ์ค„์”ฉ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰๋˜๋Š” ์‹œ์ (๋Ÿฐํƒ€์ž„)์ด ์•„๋‹Œ ..

Web/JavaScript

[JavaScript] HTML ํŒŒ์ผ์—์„œ JavaScript ํŒŒ์ผ ํšจ๊ณผ์ ์œผ๋กœ ๋กœ๋“œํ•˜๊ธฐ

๋ธŒ๋ผ์šฐ์ €์˜ ๋ Œ๋”๋ง ์—”์ง„์€ HTML ๋ฌธ์„œ๋ฅผ ํŒŒ์‹ฑํ•  ๋•Œ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฝ์–ด๋“ค์ธ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์•„๋ž˜์™€ ๊ฐ™์€ HTML ๋ฌธ์„œ๋ฅผ ํŒŒ์‹ฑํ•œ๋‹คํ•˜๋ฉด ๋ฒ„ํŠผ ์œ„์—์„œ ์•„๋ž˜๋กœ ํŒŒ์‹ฑ์„ ์ง„ํ–‰ํ•˜๋Š”๋ฐ ์ค‘๊ฐ„์— script ํƒœ๊ทธ๋ฅผ ๋งŒ๋‚˜๋ฉด ํŒŒ์‹ฑ์„ ๋ฉˆ์ถ”๊ณ  script ํŒŒ์ผ์„ ๋กœ๋“œํ•˜๊ณ  ์‹คํ–‰์‹œํ‚จ๋‹ค. script ํŒŒ์ผ์ด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๋ฉด, ์•„์ง button ์š”์†Œ๋ฅผ ํŒŒ์‹ฑํ•˜๊ธฐ ์ „์— button DOM ์š”์†Œ์— ์ ‘๊ทผํ•˜๊ฒŒ ๋˜์–ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. console.log("Hello World"); let btn = document.querySelector("#btn"); btn.addEventListener("click", function () { alert("Hello Wolrd"); }); ์ „์ฒด ํ๋ฆ„์„ ์ •๋ฆฌํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. HTML parsing script ..

suyeon-jung
'javascript' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก