24일차 - 2022.03.24

안병욱·2022년 3월 24일
0

오늘 공부한 내용 요약

1) 콜백함수


  1. 정의
    -다른함수의 인자로 넘겨주는 함수
    -자바스크립트의 비동기방식의 문제점을 해결위해 특정시점에서 호출되게 하는 함수

  2. 왜? 사용하는가(언제 사용하는가)
    -순차적으로 사용자가 원하는 순서대로 실행하기 위해
    -비동기방식으로 작성된 함수를 동기방식으로 처리위해


  1. 활용예시
function first(a) {
  alert(1);
  a();
}

function second() {
  alert(2);
}

first(second);

위와 같이 사용시 first함수 다음에 second함수 순으로 실행되게 할 수 있음
하지만 간단하게 같은 동작이 일어나게 하는 방법은

각각 함수를 선언해두고 
first();
second(); 

위와같이 해도 가능하다.
하지만 이런 방식은 비동기 방식 때문에 first함수가 완료되기전에 second함수가 실행되어 즉시 응답을 받지 못하거나 예상밖의 결과가 나올수 있다고한다.
콜백함수를 사용하여 원하는 순서대로 차례에 맞게 실행시켜 해결할 수 있다.


  1. 단점
    하지만 콜백함수는 상대적으로 가독성이 떨어지고 그로인해 디버깅하는데 어려움을 겪을 수 있다.
    이런 콜백함수를 보완가능한 함수가 promise라고 함. 추후 학습 예정

  1. 그밖
    -아무 함수가 아닌 콜백함수를 필요로 하는 함수에만 사용가능하다
    ex) reduce, filter, map, setTimeout, find, some..
    -전역변수에서 가져오거나 익명의 함수를 사용해서도 가능
    -콜백함수로 객체의 메서드를 전달해도 그 메서드는 메서드가 아닌 함수로 호출됨

  • 비동기 방식은 무엇인가
    하나의 특정코드 연산이 완료되기 전에 다음코드를 실행하는 자바스크립트의 특성으로 동시처리가 가능해 효율적이지만 위에서 언급하였듯이 즉시 응답을 받지 못하거나 예상밖의 결과가 반환될 수 있음.
    작업에 따라 응답을 받은후 처리되어야 하는 작업도 있을수 있기에 문제가 될 수 있음.

2) parameter와 argument

  1. parameter
    매개변수 / 변수
    함수 정의부분에서 볼수 잇음
    함수에서 정의되어 함수내부에서 사용하는 변수
  1. argument
    인수(전달인자) / 값
    함수 호출부분에서 볼 수 있음 / 고정x, 수시로 변하는 값
    함수를 호출할 때 전달되는 실제 값
  1. 예시
Function  arr(x,y) {
	return x + y;
}
arr(2,5);

여기서 x,y가 parameter / 2,5가 argument

* 검색과정에서 argument가 인수다, 어디는 인자다, 어디는 매개변수가 인자다 등으로 parameter와 argument에 대한 설명은 같지만 각각의 명칭이 조금씩 다른걸 확인해서 내일 정확히 확인후 수정하도록 하겠음.

내일 학습 예정

  • Decorator
  • Baekjoon 낮은 단계부터 문제 풀이 예정

하루 돌아보며

몇몇 이유로 평소보다 가진 시간이 적었던 하루였는데 하나의 내용에 대해 여기저기서 찾아보고 이해하고 어느정도 설명할 수 도 있게 되었지만 학습량이 적음

만족도 : ★☆☆☆☆


위의 내용은 공부중 본인이 이해한 내용으로 몇몇 틀린 내용이 있을 수 있습니다.
회독중 발견시 수정하겠습니다

profile
working hard

0개의 댓글