๋ด๊ฐ ๋ณด๋ ค๊ณ ๋ง๋ ์ด๋ฒคํธ ํธ๋ค๋ฌ ๐ฆ๋ชฉํ์ด๋ฒคํธ, ์ด๋ฒคํธ ํธ๋ค๋ฌ, ์ด๋ฒคํธ ๋ฒ์ค ๋ฐ addEventListener์ ๋ํด ์์๋ณด์.๊ทธ๋ฆฌ๊ณ jQuery์ Vanilla JavaScript์์ ์ด๋ฒคํธ๋ฅผ ๋ค๋ฃจ๋ ๋ฒ์ ๋ํด ์์๋ณด์. ๋ค์ ํ ๋ฒ ๋งํ์ง๋ง jQuery๋ ํ๋ ์น ๊ฐ๋ฐ์์ ํ์์ ์ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ง๋ง, ์ด์ ๋ Vanilla JavaScript(์์ JS)๋ React, Vue, Svelte ๊ฐ์ ํ๋ ์์ํฌ๊ฐ ๋์ฒดํ๋ฉด์ ์ฌ์ฉ์ด ์ค์ด๋ค๊ณ ์๋ค. ๊ทธ๋์ addEventListener ์์ฃผ๋ก๋ง ์ ๋ฆฌํ๊ณ ์์ํ๊ฒ ์ด๋ฒคํธ ์ข
๋ฅ๋ง ๊ถ๊ธํ ์ฌ๋์ 6๋ฒ๋ถํฐ ์ฝ์ผ๋ฉด ๋๋ค. 1. ์๋ฐ์คํฌ๋ฆฝํธ ์ด๋ฒคํธ (JavaScript Event)์ด๋ฒคํธ(Event)๋ ์ฌ์ฉ์๋ ์์คํ
์ด ์น ํ์ด์ง์์ ์ผ์ผํค๋ ๋์์ด๋ค.์๋ฅผ ๋ค์ด, ๋ฒํผ ํด..
โญ ๋ฌธ์๊ฐ ๋ก๋๋ ํ ์คํํ์โญ jQuery ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋จผ์ ๋ก๋ํ์โญ $ ์ถฉ๋ ๋ฐฉ์ง ํ์ ์ noConflict โญ ์ด๋ฒคํธ ์ค๋ณต ๋ฐฉ์ง off()โญ AJAX ์บ์ฑ ๋ฐฉ์ง (cache: false) โญ ๋์ ์์์ ์ด๋ฒคํธ ์ ์ฉ on()โญ ์ฑ๋ฅ ์ต์ ํ (map(), .append() ์ต์ํ) 1. ๋ฌธ์๊ฐ ์์ ํ ๋ก๋๋ ํ ์คํํ๊ธฐ์ ํ์๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋ฌธ์ ๊ฐ์ฒด๋ฅผ ๋จผ์ ๋ถ๋ฌ์์ผ ํ๋ค. ๊ทธ๋์ HTML์ด ๋ก๋๋๊ธฐ ์ ์ jQuery ์ฝ๋๊ฐ ์คํ๋๋ฉด ์์๋ฅผ ์ฐพ์ ์ ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.๐ ํด๊ฒฐ์ฑ
: $(document).ready() ์ฌ์ฉ ๋๋ ๋ณ๊ฒฝ๋ ํ
์คํธ โญ [๋ฐฉ๋ฒ 2] $(document).ready() ์ฌ์ฉ ๋ณ๊ฒฝ๋ ํ
์คํธ$(document).ready()๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฌธ์๊ฐ ์์ ํ ..
# ํ
ํ๋ฆฟ ๋ฆฌํฐ๋ด(Template Literal)ES6๋ถํฐ ์๋ก ๋์
๋ ๋ฌธ์์ด ํ๊ธฐ๋ฒ๋ฌธ์์ด ์์ฑ์ ๋ฐ์ดํ ๋์ , ๋ฐฑํฑ(`)์ ์ฌ์ฉvar str_01 = `hello world`;//๋ฐฑํฑ ์ฌ์ฉconst x='x';const y='y';const z='z';console.log(`${x}๋ x, ${y}๋ y, ${z}๋ z์ด๋ค. `); //x๋ x, y๋ y, z๋ z์ด๋ค. โถ๏ธ ๋ฐฑํฑ(`)์ ์๋ฐ์คํฌ๋ฆฝํธ JS ES6(ECMAScript 2015)๋ถํฐ ๋์
๋์๋ค.โถ๏ธ ๊ฐํ ๋ฌธ์(\n)๋ฅผ ์ฌ์ฉํ์ง ์์๋ ์๋ ์ค๋ฐ๊ฟ โถ๏ธ ์๊น์๊ฐ ์์๋ฐ์ํ(')์ ๋น์ทํ๋ ํท๊ฐ๋ฆฌ์ง ์๋๋ก ์ฃผ์# ํ
ํ๋ฆฟ ๋ฆฌํฐ๋ด - ๋ฐฑํฑ(`)์ ๊ธฐ๋ฅ ์ค๋ฐ๊ฟ(๊ฐํ: Multi-line strings) โถ๏ธ ๋ฐฑํฑ(`)์ผ๋ก ํ
ํ๋ฆฟ ๋ฆฌํฐ๋ด์ ์ฌ์ฉํ๋ฉด..
// JSON ๋ฐ์ดํฐ ๋ค๋ฃจ๊ธฐ ์ํ JS ์ฌ์ฉ๋ฒ// [1] : ๋ฐ์ดํฐ const person = [ `{"name":"์ด์์ ","age":20,"nationality":"๋ํ๋ฏผ๊ตญ"}`, {"name":"๋งฅ์๋","age":30,"nationality":"๋ฏธ๊ตญ"}, {"name":"์๋ฆฌ์๋ฒ ์ค","age":40,"nationality":"์๊ตญ"}, {"name":"์๋ค๋ฅดํฌ","age":50,"nationality":"ํ๋์ค"},]; console.log(typeof person); // objectconsole.log(typeof person[0]); // stringconsole.log(typeof person[1]); // object ์ฒซ๋ฒ์งธ ์์๋ฅผ ์์ ๋ฐ์ดํ๋ก ๊ฐ์ธ๋ฉด string ..
JSON๊ณผ XML์ ๋ฐ์ดํฐ๋ฅผ ํํํ๊ณ ์ ์กํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋ ๊ฐ์ง ํ์์ด๋ค.1. XMLXML์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ ๋ฌํ ๋ชฉ์ ์ผ๋ก ๋ง๋ค์ด์ก์ผ๋ฉฐ, ์ ์ฅ๋๋ ๋ฐ์ดํฐ์ ๊ตฌ์กฐ๋ฅผ ๊ธฐ์ ํ๊ธฐ ์ํ ์ธ์ด์ด๋ฉฐ EXtensible Markup Language์ ์ฝ์์ด๋ค. - XML์ ๋ค๋ฅธ ๋ชฉ์ ์ ๋งํฌ์
์ธ์ด๋ฅผ ๋ง๋๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ค๋ชฉ์ ๋งํฌ์
์ธ์ด- XML์ ๋ค๋ฅธ ์์คํ
๋ผ๋ฆฌ ๋ค์ํ ์ข
๋ฅ์ ๋ฐ์ดํฐ๋ฅผ ์์ฝ๊ฒ ๊ตํํ ์ ์๋๋ก ํด์ค๋ค.- XML์ ์๋ก์ด ํ๊ทธ๋ฅผ ๋ง๋ค์ด ์ถ๊ฐํด๋ ๊ณ์ํด์ ๋์ํ๋ฏ๋ก, ํ์ฅ์ฑ์ด ์ข๋ค. - XML์ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฌ์ฃผ์ง ์๊ณ , ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๊ณ ์ ์ฅํ๋ ๊ฒ๋ง์ ๋ชฉ์ ์ผ๋ก ํ๋ค.- XML์ ํ
์คํธ ๋ฐ์ดํฐ ํ์์ ์ธ์ด๋ก ๋ชจ๋ XML ๋ฌธ์๋ ์ ๋์ฝ๋ ๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ง๋ค.XML ๊ธฐ๋ฐ์ ์ธ์ด XHTML, SVG,..
๋ธ๋ผ์ฐ์ ์์์ ๋์ํ๋ ์น์ฌ์ดํธ๋ ์น ์ดํ๋ฆฌ์ผ์ด์
๊ณผ ๊ฐ์ Client๋ค์ด ์ด๋ป๊ฒ Server์ ํต์ ํ ์ ์์๊น? 1. HTTP(Hypertext Transfer Protocal)Client ์ Server ์ด ์ด๋ป๊ฒ Hypertext๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์์ ์ง ๊ท์ฝํ ํ๋กํ ์ฝClient๊ฐ Server์๊ฒ ๋ฐ์ดํฐ๋ฅผ requestํ๋ฉด, Server๋ ๊ทธ์ ๋ง๋ response๋ฅผ Client๋ก ๋ณด๋ 2. AJAX(Asynchronous JavaScript And XML)์นํ์ด์ง์์ ๋์ ์ผ๋ก ์๋ฒ์๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ ๊ธฐ์ ๋ํ์ ์ธ ์๋ก๋ ๋ธ๋ผ์ฐ์ API์์ ์ ๊ณตํ๋ XMLHttpRequest(XHR) ์ค๋ธ์ ํธ๊ฐ ์๋ค.ํน์ fecth() API๋ก ๊ฐํธํ๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ค. 3. XMLhtm..
์๋ฐ์คํฌ๋ฆฝํธ ์ด๋ฒคํธ ๋ฆฌ์ค๋ ๊ฐ๋จํ ํฌ์คํ
ํ๋ ค๊ณ ์ฌํํ To Do List๋ฅผ ๋ง๋ค์ด ๋ณด์๋ค! 1. ๊ตฌ๊ธํฐํธ, ์คํ์ผ์ํธ, ์๋ฐ์คํฌ๋ฆฝํธ ์ฐ๊ฒฐ- `style.css`์ `script.js` ์ฐ๊ฒฐ- ๊ตฌ๊ธ ํฐํธ `Poppins` ์ฌ์ฉํ๊ธฐ ์ํด์ Embed Code๋ฅผ 2. ์ ์ฒด ์ ์ฉ๋ css ์ค์ & container์ ๋ฐฐ๊ฒฝ ์ถ๊ฐโก ํฐํธ๋ ๊ตฌ๊ธ ํฐํธ `Poppins` ๋ก ์ค์ โก `box-sizing: border-box;`์์์ ํฌ๊ธฐ๋ฅผ ๊ณ์ฐํ ๋ `ํจ๋ฉ(padding)`๊ณผ `ํ
๋๋ฆฌ(border)`๊น์ง ํฌํจํ๋๋ก ์ค์ ํ๋ ์์ฑ. ๊ธฐ๋ณธ์ ์ผ๋ก CSS์์ box-sizing์ ๊ธฐ๋ณธ๊ฐ์ `content-box`์ด๋ค. `content-box`๋ ์์์ `width`์ `height`๊ฐ ์ฝํ
์ธ ์์ญ..
์ด๋ฒ ํฌ์คํ
์์ promise, async await์ ์ฐจ์ด์ ์ ์์๋ณด์!1. ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋น๋๊ธฐ ์ฒ๋ฆฌ๊ฐ ํ์ํ ์ด์ ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋น๋๊ธฐ ์ฒ๋ฆฌ๊ฐ ํ์ํ ์ด์ ๋ ์ฃผ๋ก ์๋ต ์๊ฐ์ด ๊ธด ์์
์ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํจ์ด๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋จ์ผ ์ค๋ ๋๋ก ๋์ํ๊ธฐ ๋๋ฌธ์, ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๋ ์์
์ด ์์ ๊ฒฝ์ฐ ์ด๋ฅผ ๋น๋๊ธฐ๋ก ์ฒ๋ฆฌํ์ง ์์ผ๋ฉด ์ ์ฒด ์ ํ๋ฆฌ์ผ์ด์
์ด ๋ฉ์ถ๊ฑฐ๋ ๋ฐ์์ด ๋๋ ค์ง ์ ์๋ค.js๋ ๋๊ธฐ์ ์ธ ์ธ์ด์ด๋ ๋๊ธฐ์๊ฐ์ด ๊ธด ์์
(์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋ ์์
)์ ํ๋ ๊ฒฝ์ฐ ๋น๋๊ธฐ ์์
์ ํ๊ธฐ๋ ํ๋ค.์๋๋ ๋น๋๊ธฐ ์ฒ๋ฆฌ๊ฐ ํ์ํ ๊ฐ๋จํ ์์์ด๋ค.getHotels()๋ ์๋ฒ์์ ํธํ
์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋ ํจ์์ด๋ค.๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ getHotels()์ ์๋ต๊ฐ์ ๋ฐ์ ์ถ๋ ฅํ๊ณ ์ถ๋ค.function ..