๋ฐ์ํ ๐ JavaScript29 JavaScript ํ๋กํ ํ์ (prototype) ์ดํด Object (๊ฐ์ฒด) ์๋ก ์ฐ๊ด๋ ๋ณ์์ ํจ์๋ฅผ ๊ทธ๋ฃนํํด์ ์ด๋ฆ์ ๋ถ์ธ ๊ฒ var memberObject = { tami: 'name', developer: 'java', age:'25', } this ๋ฉ์๋๊ฐ ์์ ์ด ์ํด์๋ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๋ ํค์๋ ๊ฐ์ฒด๊ฐ ๋ด๋ถ์ ์ผ๋ก ๊ฐ์ง๊ณ ์๋ ๊ฐ์ ์ฐธ์กฐํ ์ ์์ var kim = { name: 'kim', first:10, second:20, sum: function(){ return this.first+this.second; } } console.log(kim.sum()); //30 ์์ ์์์ ๊ฐ์ฒด๋ ์์์ ์ผ๋ก ๋ง๋ ๊ฐ์ฒด ๊ฐ์ฒด๋ฅผ ์ฐ์ด๋ด๋ ๋์์ ๋ฐ๋ก ๊ตฌํ ํ์ฌ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ๊ฒ ํด์ผํจ Prototype javascript ๋ prototype based langu.. 2021. 3. 10. [JavaScript] Class ์ ์์ ๐ class ๊ด๋ จ ์๋ ํจ์์ ๋ณ์๋ฅผ ๋ฌถ์ด๋์ ๊ฒ ์์๊ณผ ๋ค์์ฑ์ผ์ด๋ ์ ์์ - fields - methods * data class : methods๊ฐ ์๋ fields( data)๋ง ์๋ class class object - template ํ ํ๋ฆฟ - declare once - no data in (๋ฐ์ดํฐ๋ ์๊ณ ๋ง๋ค ์ ์๋ ํ) class ๋ฅผ ์ด์ฉํด์ ๋ง๋ ๊ฒ = ๊ฐ์ฒด javascript ์ class javascript ๋ ๊ฐ์ฒด ์งํฅ์ธ์ด object๊ฐ ์ํธ์์ฉํ๋ฉฐ ๋์๊ฐ๋ application - ECMA Script 6๋ฒ์ ์์ ์ถ๊ฐ๋ ๊ธฐ๋ฅ - ES6 ์์ ์๊น - class๊ฐ ์๊ธฐ ์ ์๋ constructor function์ ์ด์ฉํด template์ ๋ง๋ค๊ณ ์ ์ํ์ฌ ์ฌ์ฉํ์๋ค. - ๊ธฐ์กด์.. 2021. 3. 10. [์๋ฐ์คํฌ๋ฆฝํธ] fetch() API ํจ์๋ก ํธ์ถํ๊ธฐ AJAX ์น๋ธ๋ผ์ฐ์ ์์ javascript๋ฅผ ์ด์ฉํด ์น์๋ฒ์ ์ ์, ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ํ์์ง ๋ด์ ์ ๋ณด๋ค์ ๋ถ๋ถ์ ์ผ๋ก ๋ณ๊ฒฝํ๊ณ ๊ฐ์ ธ์ฌ ์ ์๋ ๊ธฐ์ ํ์ํ ์ ๋ณด๋ง์ ๋ถ๋ถ์ ์ผ๋ก ์ ๊ตํ๊ฒ ๊ฐ์ ธ์ค๋ ๊ธฐ์ ํ์ํ ๋ถ๋ถ๋ง ๋ถ๋ถ์ ์ผ๋ก ์นํ์ด์ง๋ฅผ ๋ก๋ฉํ ์ ์์ด ์์ ์ ์ฝ ๊ฐ๋ฅ ๊ทธ์ค ์ต์ ์ธ, fetch API ๋จ๊ณ๋ณ๋ก ๋ฐฐ์๋ณด๊ธฐ step by step๐งฆ fetch('javascript') ํด๋ผ์ด์ธํธ -> ์๋ฒ ์น๋ธ๋ผ์ฐ์ ! 'javascript'๋ผ๋ ํ์ผ์ ์๋ฒ์๊ฒ ์๋ตํด์ค fuunction callbackme(){ } fetch('html').then(callbackme); ์๋ฒ๊ฐ ์๋ตํ ๋ ๊น์ง ๋ค๋ฅธ ์ผ์ ํ ์ ์๋๋ก then์ ์ฌ์ฉ 'html' ํ์ผ์ ์๋ฒ์๊ฒ ์๋ตํด์ฃผ๊ณ ์๋ต์ด ๋๋๋ฉด callbackme๋ผ๋ ํจ์๋ฅผ.. 2021. 2. 26. ์๋ฐ์คํฌ๋ฆฝํธ์ Promise()๋ก callback์ง์ฅ ๋ฒ์ด๋๊ธฐ ๋๊ธฐ์ ์คํ : ์ฝ๋๊ฐ ์์์ ๋ง์ถฐ์ ์๋์ ์ผ๋ก ์คํ๋จ hoisting : var๋ณ์, function declaration( ํจ์์ ์ธ)๋ค์ด์๋์ ์ผ๋ก ์ ์ผ ์์ ์ ์ธ๋จ callback ํจ์ : ๋ด๊ฐ ์ ๋ฌํด ์ค ํจ์๋ฅผ ๋์ค์ ์คํํด์ค * setTimeout( hadler , timeout) - handler : callback ํจ์ - timeout: ์ง์ ๋ ์๊ฐ ms ๋จ์ (1์ด 1000) ๋น๋๊ธฐ ์คํ (์ค์ต) js์์ง์ ์ฝ๋๋ฅผ ์ ์ผ ์์์๋ถํฐ ์๋๋ก ์คํ console.log('1'); setTimeout(function(){ console.log(2); },1000) console.log('3'); //ํ์ดํ ํจ์๋ก ํํ ๊ฐ๋ฅ console.log('1'); setTimeout(()=> console.. 2021. 2. 25. Javascript JSON.parse(), JSON.stringify() ์ฌ์ฉํ๋๋ฒ HTTP ์น์ฌ์ดํธ์์ ์ฌ์ฉ๋๋ ๋งํฌ, ๋ฌธ์, ์ด๋ฏธ์ง client -์๋ฒ ์๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ request (์์ฒญ), response (์๋ต)ํ๋ ํต์ ๊ท์ฝ AJAX (Asynchronous JS and XML) ์นํ์ด์ง์์ ๋ฐ์ดํฐ๋ฅผ ๋์ ์ผ๋ก ์๋ฒ์๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ ๊ธฐ์ XHR (XML HTTP Request) : ๋ธ๋ผ์ฐ์ ์์ ์ ๊ณตํ๋ object - XML markup ์ธ์ด์ค ํ๋๋ก html๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฐ์ดํฐ๋ฅผ ํํํ ์ ์๋ ๋ฐฉ๋ฒ -> ๋ถํ์ํ ํ๊ทธ๋ค ๋ง์ด ๋ค์ด๊ฐ ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง - fetch() API JSON (JS object Notation) Object{ key:value} : ๋ธ๋ผ์ฐ์ , ๋ชจ๋ฐ์ผ์์ ์๋ฒ์ ํต์ ํ ๋ , (ํต์ ์๋์ด๋)object๋ฅผ ํ์ผ์์คํ ์ ์ ์ฅํ ๋ - ๋ฐ์ด.. 2021. 2. 23. Node.JS express๋ก ์๋ฒ ๊ตฌ์ฑํ๊ธฐ ํ๋ ์์ํฌ๋ฅผ ์ ์ฌ์ฉํ ๊น? Framework ๋ฐ๋ณต์ ์ผ๋ก ์ด๋์์๋ ๋ฑ์ฅํ๋ ์ผ์ ๋ ์ ์ ์ฝ๋๋ก ๋ง์ ์ผ์ ์์ ํ๊ฒ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๋๊ตฌ ๋ฏธ๋ฆฌ ์ ์ฑ๊ป ๊ตฌํํด๋์ ๊ธฐ๋ฅ์ ์ฌ์ฉํจ ๐ค ๊ฐ๋ฐ์๋ web์์ ๋ฐ๋ณต์ ์ผ๋ก ์ด๋์์๋ ์ผ์ด๋๋ ์ผ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์๋์ ์ผ๋ค์ ํ๋ ์์ํฌ๋ก ์ํํ ์ ์๋ค. - url ํ๋ผ๋ฏธํฐ๋ฅผ ํตํด ์ ๋ฌ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ์ฒ๋ฆฌํ๋ ์ผ - ์ ์ ์ธ jsํ์ผ, imageํ์ผ๋ค์ ์ปดํจํฐ์์ ์ฝ์ด์ ์ฌ์ฉ์์๊ฒ ์ ๊ณต - ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ - ๋ณด์์ ์ธ ์ด์ ํด๊ฒฐ express node.js ์ ๋ณดํธ์ ์นํ๋ ์์ํฌ์ค ํ๋ ๋ฐฐ์ฐ๊ธฐ ์ด๋ ต์ง๋ง, ์ฌ์ฉํ๊ธฐ ์ข์ ํ๋ ์์ํฌ ์ค ํ๋ Node.js ์๋ฒ์ฌ์ด๋์์ ๋์ํ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์คํํ๊ฒฝ ์๋ฒ์ธก์ ํ์ค ๊ธฐ๋ฅ์ ๊ตฌํํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฑ ๋๊ฑฐ ํฌํจ nvm: ํจํค์ง ๊ด๋ฆฌ.. 2021. 2. 23. ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐ์ฒด prototype ์ ์์ฑ๋ ๊ฐ์ฒด๋ค์ด ์ฌ๋ฌ๊ฐ ์์ด๋ ๋์ผํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์์ ํจ์จ์ ์ผ๋ก ์ฌ์ฌ์ฉ๋จ ๊ฐ์ฒด๋ค์ด ๊ฐ์ ๊ณต๊ฐ์ shareํ๋ ๊ฒ prototype โ this ๋ก function ์ ์ ํ์ ๊ฒฝ์ฐ const Health = function(name, healthTime) { this.name = name; this.healthTime = healthTime; this.showHealth = function() { return this.name + this.lastTime + "์ด๋์๋ฃ"; } } const h1 = new Health("tami", "12:12"); const h2 = new Health("recoder", "02:12"); h1.showHealth === h2.showHealth /.. 2021. 2. 22. ์ด๋ฒคํธ ๋ฒ๋ธ๋ง, ์ด๋ฒคํธ ์บก์ณ๋ง - DOM์ ์ด๋ฒคํธ ํธ๋ค๋ง div, body,html ์ ๋ชจ๋ click ์ด๋ฒคํธ๊ฐ ์์ ๋ โ currentTarget & target currentTarget ์ด๋ฒคํธ์ ์ง์ง ์ฃผ์ธ target ์ด ์ด๋ฒคํธ๊ฐ ๋๊ตฌ๋๋ฌธ์ ์คํ์ด ๋๋๊ฐ ๐ ์ด๋ฒคํธ๋ ์์ฐจ์ ์ผ๋ก ์ฐ์ข์ ๋ก ์คํ๋จ ๋ฐ๋ผ์ ์ด๋ฒคํธ๋ event-flow ๋ฅผ ๊ฐ์ง โ CapturePhase & BubblePhase capture phase porpoagate-up ๋ธ๋ผ์ฐ์ ์์ ๊ฐ์ฅ ๊ฐ๊น์ด๊ฒ๋ถํฐ ์คํ html > body > div Target pahse porpoagate-down ๋น์ฌ์ ์คํ Bubble phase propogate-down ๋ค์ ๋ด๋ ค๊ฐ๋ฉฐ ์คํ ์ธ ๋ฐ ์๋ ์ค๋ณต ์ด๋ฒคํธ๊ฐ ์คํ๋๊ฒ ๋จ html > body > div> body > html ๐ ex) ์์๋ก ๊ณต๋ถํ๊ธฐ.. 2021. 2. 22. [JavaScript ] ์ด๋ฒคํธํธ๋ค๋ง event handler = event listner = event ์ฝ๋ฐฑํจ์ : ์ด๋ฒคํธ๊ฐ ์ผ์ด๋ฌ์๋ ์ํํ ํจ์๋ค โ addEventListner() '์ด๋ฒคํธ ํ์ ' , ํจ์ , option ({}, true,,,) inputElm.addEventListner('click', funcition(){ alert('๋๋ฆ') }); inputElm์ click ์ด๋ฒคํธ๊ฐ ์คํ๋๋ฉด alert ํจ์ ์คํ ๐ ์์ฃผ ์ฌ์ฉํ๋ event ์ข ๋ฅ load ํ์ผ ๋ก๋๊ฐ ๋๋ฌ์ ๋ scroll user ์คํฌ๋กค ํ์ ๋ resize ํ๋ฉด ์ฌ์ด์ฆ ์ค์ด๊ณ ํค์ธ๋ blur ์ด๋ค ์์ focusํ๋ค ๋ค๋ฅธ ์์ ์ ํํ ๋ focus ์ด๋ค ์์ focus์ํ์ผ๋ change ipnut, text ๋ฑ์ ๊ฐ์ด ๋ฐ๊ผ์ ๋ submit submi.. 2021. 2. 16. ์ด์ 1 2 3 4 ๋ค์ ๋ฐ์ํ