길/Javascript 기본 33

타이머 API

setInterval 일정 시간의 간격을 가지고 함수를 반복적으로 실행시키는 것이다. arguments: 실행할 callback 함수, 반복적으로 함수를 실행시키기 위한 시간 간격(밀리초) return value: 임의의 타이머 id setInterval(function(){ console.log('1초'); },1000); // 1초라는 단어를 1초마다 console창에 보여준다! clearInterval(timerId) 반복 실행중인 타이머를 종료한다. arguments: 타이머 ID return value: 없음 ar timer = setInterval(function(){ console.log('1초'); },1000); clearInterval(timer); 참고 : setTimeout에 대응하..

동기와 비동기

Callback 함수에 대한 복습 callback 함수란 다른 함수의 전달인자(argument)로 넘겨주는 함수다. 이때, parameter를 넘겨받는 함수는 callback 함수를 필요에 따라 즉시 실행하거나, 나중에 실행할 수 있다. 즉시 실행하는 것은 synchronously -> 동기 나중에 실행하는 것은 asynchronoously ->비동기 blocking vs non-blocking blocking은 진행되던 일을 멈추고 다른 것을 시행해야하며, non-blocking은 진행되던 일을 계속면서 실행할 수 있다. blocking은 synchronous에 대응되고, non-blocking은 asynchronous에 대응된다. 종합해보자면 콜백을 사용하여 함수들이 비동기적으로 실행되도록 만들면, ..

작성 시간과 현재 시간을 이용하여 ~전 출력

function returnTimeBefore(tweet){ let endtime = Date.now(); let starttime = tweet.created_at; let timebefore = endtime-starttime; //timebefore는 miliseconds 단위의 시간 차다. //이것을 연,월,일,시간,분 단위로 쪼개는 것을 하면 됨. let toseconds = timebefore/1000 let appendtotimebefore = '' let oneyear = 3.154e+7; let onemonth = 2.628e+6; let oneweek = 604800; let oneday = 86400; let onehour = 3600; let onemin = 60; if(toseco..

Array.reduce()

reduce는 다른 것들에 비해서 좀 더 어렵게 느껴지기에, 따로 정리한다. arr.reduce(callback[, initialValue]) callback 함수는 네 개의 인자를 가짐. 1) 누산기 (acc) 2) 현재 값 (cur) 3) 현재 인덱스 (idx) 4) 원본 배열 (src) 내가 이해한 reduce는 다음과 같다. 1) 하나의 값으로 모아야 할 때 사용 2) 첫 번째 인자는 모으는데 사용하고, 두 번째 인자는 모을 것을 지칭하는 데에 사용 3) 무조건 callback 함수의 return 값을 다음 acc 인자에 전달한다.

고차 함수 상세

1. forEach arr.forEach(callback(currentvalue[, index[, array]])[, thisArg]) 주어진 함수를 배열 요소 각각에 대해 실행한다. 2. find arr.find(callback[, thisArg]) 주어진 판별 함수를 만족하는 첫 번째 요소의 값을 반환하며, 그런 요소가 없다면 undefined를 반환 3. filter arr.filter(callback(element[, index[, array]])[, thisArg]) 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환 4. map arr.map(callback(currentValue[, index[, array]])[, thisArg]) 배열 내의 모든 요소 각각에 대하여 주어..

고차 함수(Higher Order Function) / 커링과 클로져 차이

함수를 인자로 받거나 함수를 리턴하는 함수 이때, 다른 함수의 인자로 전달되는 함수를 특별히 콜백 함수라고 한다. 반면, 함수를 리턴하는 함수를 커리 함수라고 한다. 위 정의에 따르면, 고차 함수의 형태는 세 가지가 있다. 1. 다른 함수를 인자로 받는 경우 (double은 new_func의 콜백 함수) function double(num) { return num * 2; } function new_func(func, num) { // 8 console.log(output); // -> 8 //함수는 일급 객체, 따라서 함수를 변수에 지정 가능. const add3 = adder(3); output = add3(2); console.log(output); // -> 5 3. 함수를 인자로 받고, 함수를 ..