변수, 함수의 매개변수, 리턴값의 다양한 용도로 사용될 수 있는 데이터를
프로그래밍에서 first-class citizen/object 라고 부른다.
자바스크립트의 함수가 이에 해당됨.
- 콜백 : 어떤 함수가 수신하는 인자가 함수인 경우
함수를 값으로서 사용할 수 있으니까 오리지널 함수의 동작방법을 값(함수)을 전달하는 것으로 바꿀 수 있다.
콜백은 자바스크립트에서 함수가 값이기 때문에 가능한 것
- 비동기처리
글작성> 이메일발송> 작성완료 순차적 진행:3시간 걸림 =>동기적 처리
이메일 발송 예약 (발송은 프로그램이 백그라운드 실행)/to do (지금은 아니어도 앞으로 할 일을 기록해두고 나중에 처리하듯) => 비동기적 처리
Ajax(Asynchronous Javascript and XML) :
화면 전체를 불러오는게 아니라 웹페이지가 변경되지 않고 서버와 브라우저가 내부적으로 조용히 통신하는 기능
화면의 일부만을 불러오는게 가능하기 때문에 사용자는 화면 내의 다른 작업을 할 수 있음.
브라우저마다 사용 방법이 다름
비동기적 제어, 통신
<<<집중 아 주 중 요>>>
누가 ajax를 부르건 서버에서 정보를 가져오는 행위 자체는 같음
이같은 부분은 get이라는 메소드가 알아서 처리.
정보를 가져온 다음 무슨 일을 해야할 것인가는 같지 않음 >비지니스 로직
같지 않기 때문에 사용자에게 위임해야함
위임하는 기법 : 콜백 함수를 통해 인자를 전달받는 것
함수를 인자, 매개변수의 값으로 전달하는 것을 통해
get이라는 메소드가 동작하는 방법을 완전히 바꿀 수 있음
/* 내 말 정리
ajax는 화면전체를 불러오는게 아니라 일부만 불러올 수 있는데 그걸 비동기적 제어, 통신이라함
정보를 그냥 불러오는건 누가 해도 상관없으니까 메소드가 알아서 처리함
근데 정보를 가져온 다음에 무슨일을 할지는 사용자한테 위임해야함
(사용자가 홈페이지와의 상호작용하는거임 로그인하든 검색해서 뭘 찾든 뭘 추가하든)
이 위임하는 기법이 '콜백 함수를 통해서 인자를 전달받는거'임
콜백은 자스에서 함수는 값으로 사용될 수 있으니 그걸로 오리지널 함수의 동작방법을 바꾸는거임
메소드의 동작방법을 바꿔 사용자에게 정보처리방식을 위임가능
이게 비동기 콜백 */
출처 _ 생활코딩
'Programming > Javascript' 카테고리의 다른 글
노마드코더 바닐라js 그림판 클론코딩하면서 배운거 (0) | 2022.03.22 |
---|---|
자바스크립트 객체 지향 (0) | 2022.02.11 |
생활코딩 자바스크립트 함수 (0) | 2022.01.16 |
생활코딩 자바스크립트 객체, 모듈, API (0) | 2022.01.15 |
생활코딩 자바스크립트 반복문까지 (0) | 2022.01.14 |
댓글