본문 바로가기

프로그래밍 언어/JavaScript25

promise promise 클래스를 통해서 만들어진 인스턴스를 반환한다. 대기/성공/실패 값을 다루는 일급 값을 다루고 있다. ( 콜백과 차이) 콜백함수는 비동기적인 상황을 다루는것이 코드로만 다루고 있지만 promsie 는 비동기상황에대한 값으로 리턴을 하고있음 콜백으로 실행한함수(a)는 undefined이지만 promise는(b) promise이라는 값을 가지고 있음. 이 결과로 .then을 통해 이후에 내가 하고싶은 일을 추가적으로 할 수 있다. 이 비동기 상황이 값으로써 다뤄지므로 일급함수라고 한다. 어떤 변수에할당, 전달을 할 수 있다. const go1 = (a,f) => f(a); const add5 = a => a+5; go1(10,add5); go1(Promise.resolve(10),add5).. 2022. 3. 6.
this this var a = 10; window.a // 10 this // window function sum(a, b){ console.log(this); // window return a + b; } function Vue(el) { console.log(this); // 'Vue{}' 인스턴스를 정의한 객체 자체 (생성자) this.el = el } new Vue('#app'); console.log(this); // VueComponent{..} fetchNews() .then(function(response) { console.log(this); //undefined // 비동기 호출로 인해서 새로운 this가 생김 }) .catch(error => console.log.. 2021. 8. 2.
함수형 프로그래밍 개요 평가 시점이 순수함수가 아닌 함수가 중요하다. 순수함수는 언제 실행해도 상관없어서(동일한 결과를 리턴) 평가 시점이 상관이 없음 평가시점을 다루는것을 통해 다양한 로직을 다룬다. 일급함수 함수를 값으로 다룰 수 있다. 함수를 변수에 담을수도있고, 값으로 다룰수도있고, .. 인자로 넘길수도있다. 변수를 함수에 담을 수 있다. var f1 = function(a) {return a * a}; console.log(f1) // 함수로 나옴 함수가 함수를 인자로 담을 수 있다.언제 평가해도 상관없는 순수함수를 만드는것이 함수형 프로그래밍 return f3(f){ return f(); // 10 /어떤 함수를 인자로 넘기느냐에 따라 다름 } f3(function() { return 10;}) function ad.. 2021. 7. 18.
vanlia javascript 에서 router 구현 라우팅 HASH방식으로 구현 anchor 태그를 사용한다. (url 정보에 #이 붙는다. ) /router/router.js 생성 최초 진입은 index.html uri : "/" , "/complete" 에 따라서 동적으로 index.htm에 있는 app-rootclass 에 template정보가 렌더링 된다. DOMContentLoaded 될때 (서비스 실행 시) 최초로 render()가 호출 된 후 다음 로직이 실행된다. hashchange 이벤트 리스너를 받아 uri hash 변경시(/#/complete) 해당 template가 렌더링 되며 점수를 보여주는 로직이 실행된다. router.js // router.js const root = document.querySelector('.app-root.. 2021. 7. 17.
반응형