๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

JavaScript26

[React] HTTP ํ†ต์‹ ์„ ์œ„ํ•œ ๋ฐฉ๋ฒ• (Fetch, Axios, Promise) ์›น์—์„œ๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ http ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ์ฃผ๊ณ ๋ฐ›๋Š”๋‹ค. http ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ์ง€๋งŒ GET ๊ณผ POST ๊ฐ€ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค. GET http://example.com?a=1&b=2 ์™€ ๊ฐ™์ด url? ๋’ค์— ํŒŒ๋ผ๋ฏธํ„ฐ๋ช…=๊ฐ’ ํ˜•ํƒœ๋กœ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋ฉฐ, ์ฃผ๋กœ ๋ฐ์ดํ„ฐ ์กฐํšŒ๋‚˜ ๊ฒ€์ƒ‰ ๋“ฑ์˜ ๊ธฐ๋Šฅ์— ์‚ฌ์šฉ๋œ๋‹ค. POST http body ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด์„œ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ, url ๋’ค์— ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’์„ ํ‘œ์‹œํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ์ฃผ๋กœ ์„œ๋ฒ„์˜ ์ƒํƒœ๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๋“ฑ์˜ ์ˆ˜ํ–‰ ์ž‘์—…์— ์‚ฌ์šฉ๋œ๋‹ค. ๐Ÿฅ HTTP ํ†ต์‹  ๋ฐฉ์‹ Fetch / Axios / Promise ๐Ÿ’ก Fetch ๋ž€? ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์žฅ ํ•จ์ˆ˜์ธ fetch ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‰ฝ๊ฒŒ ๋น„๋™๊ธฐ ํ†ต์‹ ์„ ๊ตฌํ˜„.. 2021. 10. 20.
[React] props ์‚ฌ์šฉํ•˜๊ธฐ #1 ๐Ÿ’ก Props ๋ž€? react ์—์„œ props ๋Š” ์ „์—ญ๋ณ€์ˆ˜๋กœ, component ๊ฐ„์— ๊ฐ’์„ ์ „๋‹ฌํ•˜๋Š” ์ˆ˜๋‹จ์ด๋‹ค. app.js (๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ)์—์„œ ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ(์ž์‹ ์ปดํฌ๋„ŒํŠธ)๋กœ ์–ด๋– ํ•œ ๊ฐ’์„ ์ „๋‹ฌํ•  ๋•Œ props ๊ฐ์ฒด์— ๋‹ด์•„์„œ ๋ณด๋‚ด๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. 1. React props ์ž๋ฃŒํ˜• ์„ ์–ธํ•˜๊ธฐ ์ž์‹ ์ปดํฌ๋„ŒํŠธ์—์„œ props ์— ๋Œ€ํ•œ ์ž๋ฃŒํ˜•์„ ์„ ์–ธํ•ด๋†“์œผ๋ฉด, ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์—์„œ ๋„˜์–ด์˜ค๋Š” props ๋ณ€์ˆ˜๋“ค์˜ ์ž๋ฃŒํ˜•๊ณผ ๋น„๊ตํ•ด์„œ ์ž๋ฃŒํ˜•์ด ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ฒฝ๊ณ  ๋ฉ”์„ธ์ง€๋ฅผ ์•Œ๋ ค์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์ž˜๋ชป๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 1. App.js ์ˆ˜์ •ํ•˜๊ธฐ import './App.css'; import PropsDatatype from './R018_PropsDatatype'; function App() { return ( Start.. 2021. 10. 13.
[React] React.js ์‹œ์ž‘ํ•˜๊ธฐ [ CONTENTS ] 1. Reac ์‹คํ–‰ ๋ช…๋ น์–ด 2. React ์—์„œ Jquery ์‚ฌ์šฉํ•˜๊ธฐ 3. React prop ์‚ฌ์šฉํ•˜๊ธฐ React ๋ž€? ๋ฆฌ์•กํŠธ๋Š” ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋ฉฐ, ์˜ค์ง View ๋งŒ ์‹ ๊ฒฝ ์“ฐ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. React ํŠน์ง• ๋ฆฌ์•กํŠธ์˜ ์ฃผ์š” ํŠน์ง• ์ค‘ ํ•˜๋‚˜๋Š” Virtual DOM ์„ ์‚ฌ์šฉํ•œ๋‹ค. DOM(Document Object Model) ์€ ๊ฐ์ฒด๋กœ ๋ฌธ์„œ ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ XML ์ด๋‚˜ HTML ๋กœ ์ž‘์„ฑํ•œ๋‹ค. ์›น ๋ธŒ๋ผ์šฐ์ €๋Š” DOM ์„ ํ™œ์šฉํ•ด์„œ ๊ฐ์ฒด์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์™€ CSS ๋ฅผ ์ ์šฉํ•˜๊ณ  DOM ์€ ํŠธ๋ฆฌ ํ˜•ํƒœ๋ผ์„œ ํŠน์ • ๋…ธ๋“œ๋ฅผ ์ฐพ๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•˜๊ฑฐ๋‚˜ ์›ํ•˜๋Š” ๊ณณ์— ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค. ์™œ ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ์—์„œ ์š”์†Œ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ํ•˜๋‚˜์˜ ์š”์†Œ๋กœ ๊ฐ์‹ธ์ฃผ์–ด์•ผ ํ• .. 2021. 10. 13.
[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Prototype ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜ ์–ธ์–ด๋ผ๊ณ  ๋ถˆ๋ฆฐ๋‹ค. ํด๋ž˜์Šค๊ฐ€ ์—†๋Š” ๋Œ€์‹  ๊ทธ ์—ญํ• ์„ ํ•˜๋Š” ํ”„๋กœํ† ํƒ€์ž…์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ”„๋กœํ† ํƒ€์ž…์€ ๋ฌด์—‡์ผ๊นŒ? ๐Ÿ’ก Prototype ํ”„๋กœํ† ํƒ€์ž…์—์„œ ํ•จ์ˆ˜์™€ ํ•จ์ˆ˜์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ”„๋กœํ† ํƒ€์ž…์— new ํ‚ค์›Œ๋“œ๋กœ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋‹ค๋ฅธ ๊ฐ์ฒด(ํ•จ์ˆ˜)๋ฅผ ์ƒ์† ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. ์–ด๋–ค ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ• ๊นŒ? function f1(){ return{ a: 10, f: function(){} } } let obj1 = f1(); let obj2 = f1(); console.log(obj1.f === obj2.f); //false ์œ„์˜ ํ”„๋กœ๊ทธ๋žจ์—์„œ obj1๊ณผ obj2 ๊ฐ์ฒด๊ฐ€ ๋‹ค๋ฅด๋‹ค๊ณ  ์ถœ๋ ฅ๋œ๋‹ค. obj1๊ณผ obj2 ๋Š” ๋ชจ๋‘ f1 ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ๋‘ ๊ฐ์ฒด๊ฐ€ ๋‹ค๋ฅด๋‹ค๊ณ  ํŒ๋‹จ๋˜๋Š” ๊ฒƒ์€.. 2021. 9. 30.
[JavaScript] ๋””๋ฒ„๊ฑฐ ์—๋Ÿฌ ํ•ด๊ฒฐ ๋””๋ฒ„๊ฑฐ ์—๋Ÿฌ VsCode๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š”๋ฐ ์‹คํ–‰ ๊ฒฐ๊ณผ๊ฐ€ ์ œ๋Œ€๋กœ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋Š” ์ ์ด ๋ฌธ์ œ์˜€๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ Code Runner ๋ผ๋Š” ํ™•์žฅ์ž๋ฅผ ์„ค์น˜ํ–ˆ๋‹ค. Extension -> Code Runner Install Ctrl + Alt + J ๋‹จ์ถ•ํ‚ค๋กœ ์‹คํ–‰ 2021. 9. 30.
[JavaScript] ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ ํ•จ์ˆ˜ ๐Ÿ’ก ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ•จ์ˆ˜ ์•Œ์•„๋ณด๊ธฐ 1. ๋‚ด๋ถ€ํ•จ์ˆ˜ 2. ์ฝœ๋ฐฑํ•จ์ˆ˜ 3. ๋ฆฌํ„ดํ•จ์ˆ˜ 4. ํด๋กœ์ฆˆํ•จ์ˆ˜ 5. ๋žŒ๋‹ค 6. ๋™๊ธฐ์™€ ๋น„๋™๊ธฐ ํ•จ์ˆ˜ 1. ๋‚ด๋ถ€ ํ•จ์ˆ˜ let f1 = function(){ console.log('1'); let f2 = function(){ console.log('2'); } f2(); } f1(); f1 = function(){ console.log('3'); let f2 = function(){ console.log('4'); } f2(); } f1(); // 1 // 2 // 3 // 4 ํ•จ์ˆ˜ ๋‚ด์—์„œ ๋˜ ๋‹ค๋ฅธ ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  ํ˜ธ์ถœํ•˜๋Š” ํ˜•ํƒœ 2. ์ฝœ๋ฐฑํ•จ์ˆ˜ // ์ฝœ๋ฐฑํ•จ์ˆ˜ // fc = let f1 = function(fc){ console.log('1'); fc(); // f1 ํ•จ์ˆ˜์˜ ์ธ์ž fc.. 2021. 9. 30.
[JavaScript] ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ ํ•จ์ˆ˜ ๋ฆฌ์ŠคํŠธ let ar = [ { n:'ํ˜ธ๋ž‘์ด', a: 10, }, { n:'์ฝ”๋ผ๋ฆฌ', a: 20, }, { n:'๋…์ˆ˜๋ฆฌ', a: 30, } ] console.log(1); console.log(ar); console.log(2); for(const v of ar){ console.log(v); } // { n: 'ํ˜ธ๋ž‘์ด', a: 10 } // { n: '์ฝ”๋ผ๋ฆฌ', a: 20 } // { n: '๋…์ˆ˜๋ฆฌ', a: 30 } console.log(3); console.log(ar); console.log(4); typeof let ar = [80, 20, 10, 15]; console.log(ar, typeof(ar)); let br = ar.toString(); console.log(br, typeof(br)).. 2021. 9. 29.
[JavaScript] ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ ๊ธฐ์ดˆ ๋ณ€์ˆ˜ // ๋ณ€์ˆ˜ var a = 10; let b = 20; const c = 30; console.log(a, b, c); ๋ณ€์ˆ˜ ์ข…๋ฅ˜์—๋Š” var / let / const ๊ฐ€ ์žˆ๋‹ค. let, var, const // let ๊ณผ var var a = 10; if(true){ var a = 20; console.log(a); // 20 } console.log(a); // 20 let b = 10; if(true){ let b = 20; console.log(b); // 20 } console.log(b); //10 let ๋ณ€์ˆ˜ ์žฌ์„ ์–ธ ๋ถˆ๊ฐ€๋Šฅ, ์žฌํ• ๋‹น ๊ฐ€๋Šฅ ์ง€์—ญ์„ฑ์„ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋ณ€์ˆ˜๊ฐ€ ์„ ์–ธ๋œ ์ง€์—ญ ์™ธ์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ์—ฐ์‚ฐ์€ ์‹ค์ œ ๋ณ€์ˆ˜ ๊ฐ’์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋Š”๋‹ค. var ๋ณ€์ˆ˜ ์žฌ์„ ์–ธ, ์žฌํ• ๋‹น ๊ฐ€๋Šฅ ๋ณ€์ˆ˜๊ฐ€ ์„ ์–ธ๋˜๋Š”.. 2021. 9. 28.