목록전체 글 (126)
코딩쌀롱

5-1 클로저의 의미 및 원리 이해 const outer = function () { let a = 1; const inner = function() { console.log(++a); }; inner(); }; outer(); (1) inner 함수 내부에서는 a를 선언하지 않았기 때문에 environmentRecord에서 값을 찾지 못하므로 outerEnvironmentReference에 지정된 상위 컨텍스트인 outer의 LexicalEnvironment(L.E)에 접근해서 다시 a를 찾는다. (2) 그리고 2가 출력된다. (3) outer 함수의 실행 컨텍스트가 종료되면 L.E에 저장된 식별자들(a, inner)에 대한 참조를 지운다. 그러면 각 주소에 저장돼 있던 값들은 자신을 참조하는 변수가 ..

4-1 콜백 함수란? 'callback'은 되돌아 호출해달라는 명령이다. 어떤 함수 X를 호출하면서 '특정 조건일 때 함수 Y를 실행해서 나에게 알려달라'는 요청을 함께 보낸 것이다. 함수 X는 해당 조건이 갖춰졌는지 여부를 스스로 판단하고 Y를 직접 호출한다. 이처럼 콜백 함수는 함수 또는 메서드에게 인자로 넘겨줌으로써 그 제어권도 함께 위임한 함수다. 4-2 제어권 호출 시점 let count = 0; const timer = setInterval(function () { console.log(count); if (++count > 4) clearInterval(timer); }, 300); 이 코드를 실행하면 콘솔창에는 0.3초에 한 번씩 숫자가 0부터 1씩 증가하며 출력되다가 4가 출력된 이후 종..

문제 프로그래머스 12981 영어 끝말잇기 문제 게임을 하는 사람 수 n, 순서대로 말한 단어들을 넣은 배열 words를 매개변수로 받는다. 단어의 첫 글자를 맞게 말했는지, 앞에 이미 나온 단어인지를 확인하고 틀린 사람의 번호와 몇 번째 차례일 때 그 단어를 이야기 했는지를 반환한다.[사람 번호, 차례] 아무도 틀리지 않았다면 [0, 0]을 반환한다. 나의 풀이 data = [ [ 사람1 ], [ 사람2 ], ...[ 사람n ] ] 2차원 배열로 만들어서 words의 단어들을 차례대로 사람들의 배열에 넣어가면서 체크. 1. 사람 수(n)만큼 data에 속배열을 만든다. 2. 속배열에 돌아가면서 단어 넣기 2-1 앞글자를 맞게 했는지 체크 (전 배열의 마지막 글자, 제일 앞 글자 비교) 2-2 이전에 안..