1. ์กฐ์ํ html ํ๋จ์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์ง์ผ ํ๋ค. => ์ฝ๋๋ฅผ ํ์ค์ฉ ์ฐจ๋ก๋๋ก ์ฝ๊ธฐ ๋๋ฌธ์ 2. ์
๋ ํฐ ์คํ์ฃผ์ ์๋ฆผ์ฐฝ์ 3. ํจ์ ์คํ์ฃผ์ => ๋๋ฌธ์, ์๋ฌธ์ ์ฃผ์
์ ์ฒด ๊ธ
๐ฉ๐ป java, mysql, android, php, javascript๋ฅผ ๋ค๋ฃน๋๋คUI ์์์ ๋ง๋๋ ๋ฒ 1. ๋ฏธ๋ฆฌ html/css ๋์์ธ ๋ง๋ค๊ธฐ 2. ํ์ํ ๋ ๋ณด์ฌ๋ฌ๋ผ๊ณ js ์งฌ ์๋ฆผ์ฐฝ์ ๋ฒํผ .alert-box { background-color: skyblue; padding:20px; color:white; border-radius: 5px; display:none; } ๋ฒ์ธ: ์๋ฆผ์ฐฝ ๋ซ๊ธฐ ๋ฒํผ ๋ง๋๋ ๋ฒ ์๋ฆผ์ฐฝ์ ์๋ฆผ์ฐฝ๋ซ๊ธฐ๋ฒํผ .alert-box { background-color: skyblue; padding:20px; color:white; border-radius: 5px; display:block; } ์๋ฆผ์ฐฝ์ ๋ซ๊ธฐ๋ฒํผ ์ด๊ธฐ๋ฒํผ
async / await async / await ๋ ํ๋ก๋ฏธ์ค ๋์ ์๊ธดํ๊ฒ ์ธ์ ์๋ค async ๋ฅผ function ์์ ๋ถ์ด๋ฉด ํจ์ ์คํํ์ Promise ์ค๋ธ์ ํธ๊ฐ ๋จ์ต๋๋ค ๊ฐ์ด ์ฐ์ด๋ await๋ ํ๋ก๋ฏธ์ค๊ฐ ์ฑ๊ณตํ ๋๊น์ง ๊ธฐ๋ค๋ ค์ฃผ๋ฉฐ, ํญ์ async ํจ์ ์์์๋ง ์๋๋ค async function ๋ํ๊ธฐ(){ //new Promise()์ด์ฉ๊ตฌ~ ๋์์ธ ์ํด๋ 'async'๋ฅผ ํจ์ ์์ ๋ถ์ด๋ฉด ํจ์๊ฐ ํ๋ก๋ฏธ์ค๊ธฐ๋ฅ return 1+1; } ๋ํ๊ธฐ().then(function(๊ฒฐ๊ณผ){ //.then()์ฌ์ฉ๊ฐ๋ฅ! ์? async ํจ์๊ฐ ์์ผ๋ฉด ํ๋ก๋ฏธ์ค๋ฅผ ๋ฑ์ด๋ด๋๊น console.log(๊ฒฐ๊ณผ) }) // async ๋ ์ฑ๊ณต๋ง ํ์ ๊ฐ๋ฅ //return Promise.reject() ์คํจํ์ ํ๋ฉด, ์๋ฌ๋ฅผ ์ผ์ผํด..
Promise() ํ๋ก๋ฏธ์ค = ์ฑ๊ณต/์คํจ ํ์ ๊ธฐ๊ณ! -3๊ฐ์ง ์ํ- ์ฑ๊ณต์คํจ ํ์ ์ ์ฑ๊ณต ํ์ ์คํจ ํ์ var ํ๋ก๋ฏธ์ค = new Promise(); ํ๋ก๋ฏธ์ค.then(function(){ }).catch(function(){ }); // ์ฝ๋ฐฑํจ์์ ๋ค๋ฅด๊ฒ '์คํจ์ ํน์ ์ฝ๋๋ฅผ ์คํํด์ฃผ์ธ์~' ๊ฐ๋ฅํจ 1. Promise๊ธฐ๊ณ ์์๋ ์๋ฌด๊ฑฐ๋ ๋ค ์ง์ด๋ฃ์ ์ ์์ต๋๋ค var ํ๋ก๋ฏธ์ค = new Promise(function(์ฑ๊ณต,์คํจ){ var ์ด๋ ค์ด์ฐ์ฐ = 1+1; ์ฑ๊ณต(); }); ํ๋ก๋ฏธ์ค.then(function(){ console.log('์ฐ์ฐ์ด ์ฑ๊ณตํ์ต๋๋ค') }).catch(function(){ console.log('์ฐ์ฐ์ด ์คํจํ์ต๋๋ค') }); //์ฐธ๊ณ ๋ก, ์ฐ์ฐ๊ฒฐ๊ณผ๊ฐ์๊ฑธ then์์์ ํ์ฉํ..
์๋ฐ์คํฌ๋ฆฝํธ๋ ๋๊ธฐ์ ์ฒ๋ฆฌ๊ฐ ๋ฒ ์ด์ค๋ค ๊ทธ๋ฐ๋ฐ, ์ํฉ์ ๋ฐ๋ผ์๋ ๋น๋๊ธฐ์ ์ฒ๋ฆฌ๋ฅผ ํ๋ค ์์ฐจ์ ์ผ๋ก ๊ฐ๋ค๊ฐ ์ค๋๊ฑธ๋ฆฌ๋ ์ฝ๋๋ ์ผ๋จ ์น์๋๊ณ , ์ฌ์ด ์ฝ๋ ๋จผ์ ์คํํ๋ค์, ๊ทธ์ ์์ผ ์คํํ๋ค // 1 // 3 //(1์ด๋ค) 2 ํจ์๋ฅผ ์์ฐจ์ ์ผ๋ก ์คํํ๊ณ ์ถ๋ค๋ฉด? ์ฝ๋ฐฑํจ์๋ฅผ ์ฌ์ฉํ๋ค ์ฆ, ํจ์ ์์ ํจ์๋ฅผ ๋ฃ๋๋ค → ์ฐธ๊ณ ๋ก, ์ฝ๋ฐฑํจ์๋ ๋น๋๊ธฐ,๋๊ธฐ๋ผ๊ณ ๋๋์ง ๋ง์. ๊ทธ๋ฅ ์์ฐจ์ ์ผ๋ก ์ถ๋ ฅํ๋, ํจ์๋์์ธ ํจํด์ผ๋ฟ... ์ฝ๋ฐฑํจ์์ ๋ฌธ์ ์ ์ฒซ์งธํจ์(function(){ ๋์งธํจ์(function(){ ์
์งธํจ์(function(){ ๋ท์งธํจ์(function(){ }); }); }); }); ๊ฒน๊ฒน์ด ์์ฌ์ ๋ณด๊ธฐ์ซ์ ํด๊ฒฐ๋ฐฉ๋ฒ์ ํ๋ก๋ฏธ์ค!์ฒซ์งธํจ์().then(function(){ }).then(function(){ }).then(fu..
๋ฌธ์ src ๋๋ ํ ๋ฆฌ ์์๋ ํด๋์ค๊ฐ ์กด์ฌํฉ๋๋ค. constructor, super, extends, class ํค์๋๋ฅผ ์ด์ฉํ์ฌ ๊ตฌํํฉ๋๋ค. ์์๊ณผ ๊ด๋ จ๋ ํค์๋ super, extends๋ ๊ณต์๋ฌธ์๋ฅผ ์ฝ์ด๋ณธ ํ ์ ์ฉํด๋ด
๋๋ค. ํ์ด ๋จผ์ Grub ์ ์์ฑํ๋ค, Bee, HoneMakerBee,ForagerBee ์์๋๋ก ์์ฑํ๋ฉด ๋ฉ๋๋ค. class Grub { // TODO.. constructor(){ // class๋ ํญ์ constructor()๋ฅผ ํฌํจํ๋ค this.age = 0; this.color = `pink`; this.food = `jelly`; } eat(){ return `Mmmmmmmmm jelly` // ์ฝ์์ด ์๋๋ผ ๋ฆฌํด์ ์จ์ผ ํ๋ค } } module.exports = Grub..
'__proto__' ์์, ๋ณด์๋ prototype(๋ถ๋ชจ์ ์ ์)๋ ํจ์ ๋ค์๋ง ์ธ ์ ์์ต๋๋ค. ์์ฑ์ด๋ ๋ฐฐ์ด ๊ฐ์ ๋ค๋ฅธ ๊ฐ์ฒด์๊ฒ๋ ์ธ ์ ์์ต๋๋ค. ํ์ง๋ง, '__proto__'๋ ๋ชจ๋ ๊ฐ์ฒด๊ฐ ๊ฐ์ง๊ณ ์๋ ์์ฑ์ด๊ธฐ ๋๋ฌธ์ ํจ์๊ฐ ์๋ ์ผ๋ฐ๊ฐ์ฒด์์๋ ๋ถ๋ชจ์์ ์์๊ด๊ณ๋ฅผ ํํํ ์ ์์ต๋๋ค. ์ฆ '__proto__'๋ ๋ชจ๋ ๊ฐ์ฒด์์ ๋ถ๋ชจ์ ์ ์ ์๋ฅผ ๊ฒ์ฌํ ๋ ์ฐ๋ ์์ฑ์
๋๋ค. function ๊ธฐ๊ณ(){ this.name = 'Kim'; this.age = 15; } var ํ์1 = new ๊ธฐ๊ณ(); console.log(ํ์1.__proto__); === console.log(๊ธฐ๊ณ.prototype); ์์.__proto__ ๋ ๋ถ๋ชจ. prototype์ ์๋ฏธํ๋ค. '__proto__'๋ฅผ ๋ฑ๋กํ๋ค๋ฉด? '..
Prototype์ด๋? ์๋ฐ์คํฌ๋ฆฝํธ์๋ constructor(๊ฐ์ฒด ์ฐ์ด๋ด๋ ๊ธฐ๊ณ)๋ง๊ณ ๋ ์์์ ํด์ฃผ๋ ์ฅ์น๊ฐ ํ๋ ๋ ์๋ค! ๋ฐ๋ก prototype ์ด๋ค. ๊ธฐ๊ณ๋ฅผ ๋ง๋ค๋ฉด, ์ฐ๋ฆฌ๊ฐ ๋ชจ๋ฅด๊ฒ prototype ์ด๋ผ๋ ๊ฒ ์์ฑ๋๋ค. function ๊ธฐ๊ณ(){ this.name = 'Kim'; this.age = 15; } var ํ์1 = new ๊ธฐ๊ณ(); var ํ์2 = new ๊ธฐ๊ณ(); console.log(๊ธฐ๊ณ.prototype); '๊ธฐ๊ณ.prototype' ์ ๊ธฐ๊ณ์ ๋ถ๋ชจ์ ์ ์์
๋๋ค. ๊ธฐ๊ณ.prototype ์ ๋ณ์๋ ํจ์๊ฐ ๋ค์ด์๋ค๋ฉด ๊ธฐ๊ณ๋ก๋ถํฐ ์์ฑ๋๋ ์ค๋ธ์ ํธ(์์)๋ค์ ๋ชจ๋ ๊ทธ๊ฒ๋ค์ ๋ฌผ๋ ค๋ฐ์ ์ธ ์ ์์ต๋๋ค. function ๊ธฐ๊ณ(){ this.name = 'Kim'; this.age = 15; ..