ALOHA CLASS
/
Front-End
/
Javascript
Search
Share
Javascript
์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ด
Javascript ๊ธฐ์ด
JavaScript ์๊ฐ
์น ํ์ด์ง๋ฅผ ๋์ ์ผ๋ก ๋ง๋ค๊ณ ์ฌ์ฉ์์ ์ํธ ์์ฉํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
Node ๋ฐํ์ ํ๊ฒฝ์์ ์คํ ๊ฐ๋ฅํ ํ๋ก๊ทธ๋จ์ ๊ตฌํํ๋ ๋ฐ๋ ์ฌ์ฉ๋ฉ๋๋ค.
์ฃผ์ ํน์ง
๊ธฐ๋ณธ ์ฉ์ด
ํค์๋
JavaScript ์๊ฐ ๋ฐ ๊ธฐ์ด
๋ณ์
๊ฐ์
โข
๋ณ์
โข
๋ณ์ ์ ์ธ
โข
let vs var
โข
์์
๋ณ์
์๋ฃํ
์๋ฃํ ๋ถ๋ฅ
โข
๋ฌธ์์ด ์๋ฃํ
โข
์ซ์ ์๋ฃํ
โข
๋ถ ์๋ฃํ
โข
undefined
์๋ฃํ
์ฐ์ฐ์
์ฐ์ฐ์ ๋ถ๋ฅ
โข
์ฐ์ ์ฐ์ฐ์
โข
๋์ ์ฐ์ฐ์
โข
๋น๊ต ์ฐ์ฐ์
โข
๋ ผ๋ฆฌ ์ฐ์ฐ์
โข
๋ฌธ์์ด ์ฐ์ฐ์
์ฐ์ฐ์
์ ์ด๋ฌธ
์ ์ด๋ฌธ ๋ถ๋ฅ
์ ์ด๋ฌธ
๋ฐฐ์ด
JavaScript ์์๋ ๋ฐฐ์ด ์์์ ์ฌ๋ฌ ์๋ฃํ์ ํผํฉํ์ฌ ์ ์ฅ ๊ฐ๋ฅ
JavaScript ์์๋ ๋ฐฐ์ด ์์๋ฅผ ์ถ๊ฐ/์ญ์ ๊ฐ๋ฅ
๋ฐฐ์ด
ํจ์
ํ์ต ์์
ํจ์
๊ฐ์ฒด
๊ฐ์ฒด
ํ๋กํ ํ์
DOM (Document Object Model)
โJavaScript ๋ก HTML ์ ์กฐ์ํ ์ ์๊ฒ ํด์ฃผ๋ ์ฐ๊ฒฐ ๋๊ตฌโ
์น ํ์ด์ง ๋ก๋ โ ๋ธ๋ผ์ฐ์ ๊ฐ DOM ์์ฑ
์์์ ๋ชฉ์ ๊ณผ ํน์ง์ ์ ์ํ๊ณ , ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณต
DOM์ HTML ๋ฌธ์์ ๊ณ์ธต์ ๊ตฌ์กฐ์ ์ ๋ณด๋ฅผ ํํํ๋ฉฐ, ์ด๋ฅผ ์ ์ดํ ์ ์๋ ํ๋กํผํฐ์ ๋ฉ์๋๋ฅผ ์ ๊ณตํ๋ ํธ๋ฆฌ ์๋ฃ๊ตฌ์กฐ์ ๋๋ค.
DOM ์ ์ด์ฉํ ์์
โข
HTML ์์ ๋ฐ
์์ฑ
์ ์ถ๊ฐ, ๋ณ๊ฒฝ, ์ ๊ฑฐ
โข
HTML ์์์ CSS
์คํ์ผ
์ถ๊ฐ, ๋ณ๊ฒฝ, ์ ๊ฑฐ
DOM
BOM (Browser Object Model)
โข
Window
โข
Screen
โข
Location
โข
History
Window
์ฐฝ(ํ์ ์ฐฝ) ์ด๊ธฐ, ๋ซ๊ธฐ, ์ด๋, ํฌ๊ธฐ ํ์ธ ๋ฐ ์กฐ์ ๋ฑ์ ํ ์ ์๋ค.
BOM
AJAX(Asynchronous JavaScript and XML)
๊ฐ์
โข
Promise
โข
Promise ์ํ
โข
์ฃผ์ ๋ฉ์๋
โข
๊ธฐ๋ณธ ์์ ์ฝ๋
โข
API ํธ์ถ ์์ ์ฝ๋
Promise
๋น๋๊ธฐ ์์ ์ ์ฑ๊ณต ๋๋ ์คํจ ๊ฒฐ๊ณผ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฐ์ฒด
Promise
async & await
JavaScript์ ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ์ ๊ฐํธํ๊ฒ ๋ง๋๋ ํค์๋์ ๋๋ค.
โข
Promise
โข
async
โข
await
async
async
: "๋น๋๊ธฐ" ๋๋ "๋น๋๊ธฐ์"์ด๋ผ๋ ์๋ฏธ๋ก ํด์๋ฉ๋๋ค. ์์ด ๋จ์ด
asynchronous
์ ์ค์๋ง๋ก, ๋์์ ์ผ์ด๋์ง ์๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
await
await
: "๊ธฐ๋ค๋ฆฌ๋ค" ๋๋ "๋๊ธฐํ๋ค"๋ผ๋ ์๋ฏธ๋ก ํด์๋ฉ๋๋ค. ์์ด ๋์ฌ
await
์์ ์ ๋ํ ๊ฒ์ผ๋ก, ์ด๋ค ์ผ์ด ์๋ฃ๋๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
async & await
fetch
JavaScript์์ ์ ๊ณตํ๋ API ์ค ํ๋๋ก, ๋คํธ์ํฌ ์์ฒญ์ ๋ง๋ค๊ณ ์๋ต์ ๋ค๋ฃฐ ์ ์๊ฒ ํด์ฃผ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
fetch
API๋ Promise๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋์ํ๋ฉฐ, ๋น๋๊ธฐ์ ์ผ๋ก ๋คํธ์ํฌ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
fetch() ๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ธ๋ผ์ฐ์ ๋ด์ฅ ํจ์๋ก, ๋คํธ์ํฌ์์ ๋ฆฌ์์ค๋ฅผ ๊ฐ์ ธ์ค๋ ๋์์ ๊ฐ๊ฒฐํ๊ฒ ํํํฉ๋๋ค.ย fetch() ํจ์๋:
โข
์ฒซ ๋ฒ์งธ ์ธ์๋ก URL์ ๋ฐ์ต๋๋ค.
โข
๋ ๋ฒ์งธ ์ธ์๋ก ์ต์ ๊ฐ์ฒด๋ฅผ ๋ฐ์ต๋๋ค.
โข
Promise ํ์ ์ ๊ฐ์ฒด๋ฅผ ๋ฐํํฉ๋๋ค.
๋ฐํ๋ ๊ฐ์ฒด๋:
โข
API ํธ์ถ์ด ์ฑ๊ณตํ์ ๊ฒฝ์ฐ์๋ ์๋ต(response) ๊ฐ์ฒด๋ฅผ resolveํฉ๋๋ค.
โข
์คํจํ์ ๊ฒฝ์ฐ์๋ ์์ธ(error) ๊ฐ์ฒด๋ฅผ rejectํฉ๋๋ค.
fetch
XMLHttpRequest
XMLHttpRequest
๋ ๋ธ๋ผ์ฐ์ ์์ ์ ๊ณตํ๋ ๊ฐ์ฒด๋ก, ๋น๋๊ธฐ์ ์ผ๋ก ์๋ฒ์ ํต์ ํ ์ ์๋๋ก ๋์์ค๋๋ค. ์ด๊ธฐ์ ์ฃผ๋ก ์ฌ์ฉ๋์์ผ๋, ์ฝ๋ฐฑ ์งํฅ์ ์ด๊ณ ๋ณต์กํ API ๊ตฌ์กฐ๋ก ์ธํด ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง๋ ๋จ์ ์ด ์์ต๋๋ค.
์ฃผ์ ์์ฑ ๋ฐ ๋ฉ์๋
XMLHttpRequest
axios
axios
๋ JavaScript์ HTTP ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก, ๋ธ๋ผ์ฐ์ ์ Node.js ํ๊ฒฝ์์ ๋ชจ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
axios
๋ Promise๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ๊ณผ ๋ค์ํ ์ค์ ์ต์ ์ ์ ๊ณตํ์ฌ ๋คํธ์ํฌ ์์ฒญ์ ๋ณด๋ค ํธ๋ฆฌํ๊ฒ ๋ค๋ฃฐ ์ ์๋๋ก ๋์์ค๋๋ค.
Axios ๊ธฐ๋ณธ ๊ตฌ์กฐ
Axios์ ์ฃผ์ ๋ฉ์๋
axios
์ด๋ฏธ์ง ์ฌ๋ผ์ด๋
slick
jQuery ๊ธฐ๋ฐ ์ด๋ฏธ์ง ์ฌ๋ผ์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
slick - the last carousel you'll ever need
slick is a responsive carousel jQuery plugin that supports multiple breakpoints, CSS3 transitions, touch events/swiping & much more!
1.
slick ํ๋ฌ๊ทธ์ธ ๊ฐ์ ธ์ค๊ธฐ
2.
jQuery ๊ฐ์ ธ์ค๊ธฐ
3.
๋ด๊ฐ ๋ง๋ css / script ๊ฐ์ ธ์ค๊ธฐ
4.
์์ ๋ด์ฉ์ ํ ๋ฒ ํฌํจํ๊ธฐ
5.
์ด๋ฏธ์ง ์ฌ๋ผ์ด๋ HTML ์ฝ๋ ์์ฑ
6.
๊ธฐ๋ณธ ์คํ์ผ ์ง์ ํ๊ธฐ
7.
์ฌ๋ผ์ด๋ ์์ญ ๋ฐ์ํ ์ ์ฉํ๊ธฐ
8.
slick ์ฌ๋ผ์ด๋ ์์ํ๊ธฐ!
9.
๋ค์ํ ์ต์ ์ ์ฉํ๊ธฐ
slick
swiper ๋ผ์ด๋ธ๋ฌ๋ฆฌ
Swiper - The Most Modern Mobile Touch Slider
The Most Modern Mobile Touch Slider
1. swiper ํ๋ฌ๊ทธ์ธ ๊ฐ์ ธ์ค๊ธฐ
index.html
2. swiper HTML ๋ ์ด์์ ์ฝ๋
swiper
1. bx-slider ํ๋ฌ๊ทธ์ธ ๊ฐ์ ธ์ค๊ธฐ
2. bxslider HTML ๋ ์ด์์ ์ฝ๋
3. ๊ธฐ๋ณธ ์คํ์ผ ์ ์ฉํ๊ธฐ
bx-slider
.