Notice
Recent Posts
Recent Comments
Link
개발 무지렁이
[JavaScript] 호출 가능한 객체, 함수와 콜백함수 본문
𐂂 함수란? 호출할 수 있는 객체, callable
(1) 작업을 처리하는 코드블럭 (🧩 코드의 재사용성)
(2) 객체 타입의 값이다, 함수 객체
(3) 함수는 호출되기 이전에, 함수 몸체의 어떤것도 실행되지 않는다.
(2) 객체 타입의 값이다, 함수 객체
(3) 함수는 호출되기 이전에, 함수 몸체의 어떤것도 실행되지 않는다.
➼ 🦔 함수 리터럴
함수 객체를 생성하는 표기법을 말한다.
(피연산자로 사용될 때, 함수리터럴로 해석)
❓ 일급객체: 값처럼 사용할 수 있는 객체
(피연산자로 사용될 때, 함수리터럴로 해석)
❓ 일급객체: 값처럼 사용할 수 있는 객체
➼ 🦔 함수 정의 방식
(1) 함수 선언문
function add(x, y) {
return x + y;
}
⚠️ 함수 호이스팅이 일어난다. (함수이름과 동일한 이름의 식별자가 생성, 함수 객체가 할당)
(2) 함수 표현식: 함수리터럴로 생성한 함수 객체가 변수에 할당
let add = function(x, y) {
return x + y;
}
(3) Function 생성자 함수
let add = new Function('x', 'y', 'return x+y');
(4) 화살표 함수
let add = (x, y) => x + y;
(5) 즉시 실행 함수
(function() {
let a = 3;
let b = 5;
return a * b;
}());
⚠️ 그룹연산자로 감싸면 함수리터럴로 평가되어 함수객체를 생성
🦉 순수 함수
: 외부 상태에 의존하지도 않고, 외부 상태를 바꾸지도 않는,
즉, 부수효과가 없는 함수를 말한다.
: 외부 상태에 의존하지도 않고, 외부 상태를 바꾸지도 않는,
즉, 부수효과가 없는 함수를 말한다.
𖠃 콜백함수
매개변수를 통해 다른 함수의 내부로 전달되는 함수를 '콜백함수'라하고,
인수로 함수를 받는 함수를 '고차함수'라 한다.
인수로 함수를 받는 함수를 '고차함수'라 한다.
📜 콜백함수를 사용한 비동기 처리.js
setTimeout(function() {
console.log('1초 경과');
}, 1000);
📜 콜백함수를 사용한 배열고차함수.js
let res = [1, 2, 3].map(function(item) {
return item * 2;
});
console.log(res); //[2, 4, 6]
res = [1, 2, 3].filter(function() {
return item % 2;
});
console.log(res); //[1, 3]
res = [1, 2, 3].reduce(function(acc, cur) {
return acc + cur
});
console.log(res); //6
'Frontend > JavaScript' 카테고리의 다른 글
[JavaScript] 기다리지 않고 다음 코드를 실행하는 비동기 처리와 비동기 작업의 결과를 나타내기 위한 약속, Promise (0) | 2023.10.01 |
---|---|
[JavaScript] 식별자가 유효한 범위를 나타내는 스코프(Scope)와 외부 렉시컬 환경 참조를 통한 스코프 체인 형성 (0) | 2023.09.22 |
[JavaScript] 값을 생성하는 리터럴, 값으로 평가되는 표현식 (0) | 2023.09.02 |
[JavaScript] 호이스팅과 var let const 키워드 (0) | 2023.08.17 |
[jQuery] .attr()과 .prop() (0) | 2023.04.22 |
Comments