객체 지향 JavaScript — 함수로 작업하기
지금 http://jauyeung.net/subscribe/에서 내 이메일 목록을 구독하십시오.
JavaScript는 부분적으로 객체 지향 언어입니다.
JavaScript를 배우려면 JavaScript의 객체 지향 부분을 배워야 합니다.
이 기사에서는 함수를 살펴보겠습니다.
함수 실행
함수 이름 뒤에 괄호를 추가하여 함수를 실행할 수 있습니다.
함수 정의 방법에 관계없이 작동합니다.
예를 들어 함수가 있는 경우:
const sum = function(a, b) {
return a + b;
};
그런 다음 다음과 같이 작성하여 실행합니다.
sum(1, 2);
예상되는 숫자 인수
sum
를 전달합니다.익명 기능
익명 함수는 이름이 없는 함수입니다.
이전에 사용했던
sum
함수에는 변수에 이름이 할당되지 않은 함수가 있었습니다.이렇게 하면 어디서나 호출할 수 있습니다.
콜백 함수
콜백 함수는 다른 함수에 의해 호출되는 함수입니다.
예를 들어 다음과 같이 작성할 수 있습니다.
function runAdd(a, b) {
return a() + b();
}
runAdd
함수는 a
및 b
함수를 호출합니다.따라서 2개의 함수를 전달해야 합니다.
다음과 같이 작성하여 사용할 수 있습니다.
const sum = runAdd(() => 1, () => 2)
1을 반환하는 함수와 2를 인수로 반환하는 함수를 전달했습니다.
그러면 3이 반환됩니다.
따라서
sum
는 3입니다.콜백은 비동기 코드를 실행할 때 유용합니다.
비동기 코드에 결과가 있을 때 콜백을 호출할 수 있습니다.
map
, filter
및 reduce
와 같은 배열 메서드와 같은 반복 작업을 수행하기 위해 동기식 콜백을 가질 수도 있습니다.다음과 같이 작성하여 자체
map
메서드를 만들 수 있습니다.function map(arr, callback) {
const result = []
for (const a of arr) {
result.push(callback(a));
}
return result;
}
그런 다음 다음과 같이 작성하여 사용할 수 있습니다.
const result = map([1, 2, 3], (x) => x * 2);
그러면
result
는 [2, 4, 6]
.map
는 배열arr
을 취하고 for-of 루프를 사용하여 각 항목을 반복하고 각 항목이 있는 각 항목에 대해 callback
를 호출합니다.즉각적인 기능
즉시 함수는 정의된 직후에 호출되는 함수입니다.
예를 들어 다음과 같이 작성할 수 있습니다.
(
function() {
console.log('foo');
}
)();
그런 다음 함수를 만들고 즉시 호출했습니다.
호출하고 있다는 것을 알 수 있도록 괄호로 묶어야 합니다.
다음과 같이 작성할 수도 있습니다.
(function() {
console.log('foo');
})();
반환된 값을 얻고 다음과 같이 작성할 수 있습니다.
const result = (function() {
//...
return {
//...
}
}());
함수에서 일부 결과를 반환하고 이를
result
에 할당합니다.내부(비공개) 기능
함수는 다른 변수와 같으므로 다른 함수에 넣을 수 있습니다.
예를 들어 다음과 같이 작성할 수 있습니다.
function outer(param) {
function inner(a) {
return a * 100;
}
return inner(param);
}
매개변수에 100을 곱한 값을 반환하는
inner
함수가 있습니다.그런 다음 결과를 반환합니다.
내부 함수의 이점은 함수 내부의 변수에 외부에서 액세스할 수 없다는 것입니다.
그러나 내부 함수는 외부 함수의 변수에 액세스할 수 있습니다.
전역 범위에서 변수를 정의할 필요가 없기 때문에 이것은 큰 이점입니다.
결론
private 함수를 정의하면 많은 이점이 있습니다.
즉시 호출된 함수를 정의하여 무언가를 반환할 수도 있습니다.
함수는 익명일 수 있으며 다른 함수의 매개변수가 될 수 있습니다.
Reference
이 문제에 관하여(객체 지향 JavaScript — 함수로 작업하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aumayeung/object-oriented-javascript-doing-things-with-functions-5cdd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)