본문 바로가기

분류 전체보기72

실행 컨텍스트 관련 예제 다음은 실행 컨텍스트 관련해 자주 등장하는 예제이다. 일전에 작성한 적이 있으나 해결법 관련해 한 번 더 남기고자 한다. 의도한 것은 1초 뒤, 0부터 4까지 순차적으로 출력하는 것이었으나 결과를 보면 5가 다섯 번 출력된 것을 확인할 수 있다. 그 이유는 1초 뒤 콜백 함수의 실행 시 참조하는 i 값이 5이기 때문이다[1][2]. 이를 해결하기 위한 네 가지 해결방법이 있다. 첫째, 전통적인 방법으로 콜백 함수로 클로저를 활용해 변수를 기억하도록 하는 방법[3]이다. 둘째, ES6에서 추가된 방법으로 let을 이용한 방법이다. 이는 함수 스코프인 var 변수와는 달리 let으로 선언된 변수는 for-loop마다 블록 스코프를 갖기 때문이다. 콜백 함수에서 참조하는 i값은 블록 스코프마다 서로 다르기 때.. 2023. 3. 15.
중복 제거 후 병합 알고리즘을 풀다 보면 배열에 담긴 값들을 매핑해주거나 빈도를 파악해야 하는 경우가 있다. 이때 매핑값들은 객체로 주어지는데 이 정보는 중복되면 안 된다. 보통은 매핑값으로 주어지는 경우에 중복 없이 주어지지만, 객체의 특성을 살펴보기 위해 남겨두도록 한다. 전개구문을 이용해 병합 시 중복 제거할 수 있다. 한편 배열을 돌며 빈도를 파악해야 하는 경우엔 다음과 같이 가능하다. 이미 살펴봤듯이 병합 시 중복값이 제거되므로, 이전값이 존재하더라도 현재값이 덮어씌우게 된다. 참고로 맵[1]의 경우 다음과 같이 중복을 제거할 수 있다. ------ 1. 맵과 객체의 가장 큰 차이 중 하나는 맵은 문자열 아닌 값, 즉 함수나 객체 등도 프로퍼티의 키 값으로 쓰일 수 있다는 점이다. 2023. 3. 13.
2013.01.09 Because I had to go to the bank, I delay[1] the time. Most americans marry in their mid-20s. No service fee I want to live in the suburbs[2]. I went to rehab[3] for a while. It's a confusing situation[4]. Your parents didn't care about marrying a foreigner? Awkward atmosphere There is no outlet. Rent or buy[5] Guests (in wedding) You pronounce somethings very well in korean[6]. Say/Speak/Tell/Ta.. 2023. 1. 10.
2023.01.02 Let's talk in detail on 1/2 at 1pm. (It) doesn't matter. I'm downstairs. 2023. 1. 10.