Promise와 Async로 Callback Hell을 탈출해보자
Function declared in a loop contains unsafe references to variable(s)
문제상황 run = (timeout: number) => new Promise<void>((resolve) => { let direction = 'r'; const todos = []; for (let i = 0; i < 15; i += 1) { if (i === 6) direction = 'l'; if (i === 10) direction = 'r'; todos.push(() => { this.dragonBGmove(`${direction + 4}`, timeout); }); todos.push(() => { this.dragonBGmove(`${direction + 3}`, timeout); }); } resolve(); }); 7,8번째 줄에서 다음과 같은 에러가 뜬다. Function...
var vs let
공통점 박스 선언 둘다 어떤 값을 넣기 위한 박스를 만드는데 사용된다. 함수 안에서 밖을 참조 함수 밖에있는 값들을 함수 안에서 참조할 수 있다. var outVar = 100; function test1() { console.log(outVar); } test1(); // 100 let outLet = 200; function test2() { console.log(outLet); } test2(); // 200 함수 안에 함수가 있어도 마찬가지이다. function outside() { var myVar = 100; let myLet = 200; function inside() { console.log(myVar); // 100 console.log(myLet); // 200 } inside(); }...
new 작동 방식
function Person(saying) { this.saying = saying; } Person.prototype.talk = function() { console.log(this.saying); } var me = new Person("안녕하세요 저는 윤병인입니다"); me.talk(); // "안녕하세요 저는 윤병인입니다" new Person("안녕하세요 저는 윤병인입니다");에서 무슨 일이 일어난걸까? customNew new의 작동방식을 이해하기 위해서 new 연산자와 비슷한 일을 하는 customNew를 구현해보자. function customNew(constructor) { var obj = {}; // 1. 빈 오브젝트를 만든다 Object.setPrototypeOf(obj...
Create React App없이 React + Typescript 환경설정
NPM npm init 이것저것 설치하기 (스크롤을 많이 내리다 보면, 한번에 설치하도록 코드를 작성해 놓았습니다. 일일이 복붙 할 필요 없습니다.) Webpack webpack / webpack-cli webpack을 쓰려면 당연히 필요하니까, webpack과 webpack-cli모듈을 설치해준다. npm install --save-dev webpack webpack-cli webpack-dev-server local 환경에서 편하게 테스트해보려면 필요하다. npm install --save-dev webpack-dev-server typescript typescript -> javascript 변환해주는 typescript모듈이 필요하다. npm install --save-dev typescript...