자바스크립트에서 함수는 값으로써 사용한다.
함수는 값입니다. 따라서 함수도 값처럼 할당, 복사, 선언할 수 있습니다
함수를 만들고 그 함수를 변수 sayHi에 할당하기
콜백함수
콜백함수는 함수로써 다른 함수의 인자로 들어가게 된 후에
어떠한 로직이 완성 된 후 호출 된다.
콜백함수의 장점 : 우리가 필요한 것들을 조절해서 사용가능
생성자에 콜백함수 전달
전달 후 , 객체에 callback 프로퍼티 생성 후
콜백함수 참조.
JS에서 함수는 값으로써 사용이 가능하다.
let user = users.find(item => console.log(item.id === 1));
item : 콜백함수에서 처리 할 현재 요소
콜백함수 : 바디 안 에 본문 을 작성한 다음에 콜백함수로써 다른함수에 들어가서 호출됨.
함수 ask의 인수, showOk와 showCancel은 콜백 함수 또는 콜백이라고 불립니다. (익명함수 사용가능)
함수 표현식 vs 함수 선언문
함수 선언문
1.함수 선언문은 함수 선언문이 정의되기 전에도 호출할 수 있습니다.
2.함수 선언문은 스크립트 어디에 있느냐에 상관없이 어디에서든 사용할 수 있습니다.
3.함수 선언문은 코드 블록이 실행되기도 전에 처리됩니다. 따라서 같은 블록 내 어디서든 활용 가능합니다.
엄격 모드에서 함수 선언문이 코드 블록 내에 위치하면 해당 함수는 블록 내 어디서든 접근할 수 있습니다.
하지만 블록 밖에서는 함수에 접근하지 못합니다.
4.함수 선언문은 함수 선언문이 정의되기 전에도 호출할 수 있습니다.
이게 가능한 이유는 자바스크립트의 내부 알고리즘 때문입니다.
자바스크립트는 스크립트를 실행하기 전, 준비단계에서 전역에 선언된 함수 선언문을 찾고, 해당 함수를 생성합니다. 스크립트가 진짜 실행되기 전 "초기화 단계"에서 함수 선언 방식으로 정의한 함수가 생성되는 것이죠.
고로, 함수 선언문은 같은 블록 내에 위치하고 있어야 한다.
함수 표현식
1.자바스크립트 엔진이 언제 함수를 생성하는지에 달려있다.
2.함수 표현식은 실제 실행 흐름이 해당 함수에 도달했을 때 함수를 생성합니다.
따라서 실행 흐름이 함수에 도달했을 때부터 해당 함수를 사용할 수 있습니다.
참고 ko.javascript.info/function-expressions
'JavaScript' 카테고리의 다른 글
javascript (0) | 2021.03.05 |
---|---|
arrow function (0) | 2021.03.03 |
function( ) , return , parameter (0) | 2021.02.28 |
switch case (0) | 2021.02.28 |
전위연산자, 후위연산자 (0) | 2021.02.25 |