상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
육아휴직의 법적 근거는 무엇인가요?
육아휴직을 신청했을 때 상대방의 반응에 대해 어떻게 대처하나요?
육아휴직을 사용하는 동안 가족의 역할 변화는 어떤가요?
살리실산을 사용하지 말아야 한다면 왜 그런가요?
담이 걸렸을 때 필요한 기간 동안 휴식을 취해야 하나요?
배임죄 발생 시 기업은 주주들에게 어떻게 보고해야 하나요?
대손처리 이후 회수 노력은 어떻게 진행하나요?
대손처리와 고객의 재정 상태 분석은 어떻게 연결되나요?
중국어 간체와 번체의 입력 방식에 차이가 있나요?
중국어 간체와 번체를 번역할 때 주의할 점은 무엇인가요?
자조 한 알은 평균 몇 그램인가요?
고기 보관을 위한 추천 필름이나 랩은 무엇인가요?
Previous
Next
수정하기 - 자바스크립트에서 함수를 인자로 전달할 수 있나요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
네, <a href='https://sangseek.com/sangseeks/자바/ko'>자바</a>스크립트에서는 함수를 인자로 전달할 수 있습니다. 자바스크립트는 <a href='https://sangseek.com/sangseeks/함수형 프로그래밍/ko'>함수형 프로그래밍</a> 언어의 특성을 가지고 있기 때문에, 함수는 일급 객체(First-Class Object)로 취급됩니다. 즉, 함수는 변수에 할당될 수 있고, 다른 함수의 인자로 전달될 수 있으며, 함수의 반환값으로도 사용될 수 있습니다. 이러한 특성 덕분에 자바스크립트에서는 매우 유연하고 강력한 프로그래밍 패턴을 구현할 수 있습니다. 함수 인자로 전달하기 함수를 인자로 전달하는 기본적인 예제를 살펴보겠습니다. 다음은 두 개의 숫자를 받아서 특정 연산을 수행하는 함수를 정의하고, 그 함수에 다른 함수를 인자로 전달하는 예제입니다. ```javascript function calculate(a, b, operation) { return operation(a, b); } function add(x, y) { return x + y; } function subtract(x, y) { return x - y; } console.log(calculate(5, 3, add)); // 8 console.log(calculate(5, 3, subtract)); // 2 ``` 위의 코드에서 `calculate` 함수는 세 개의 인자를 받습니다: 두 개의 숫자 `a`와 `b`, 그리고 `operation`이라는 함수입니다. 이 `operation` 함수는 `a`와 `b`를 인자로 받아서 특정 연산을 수행합니다. `add`와 `subtract` 함수는 각각 덧셈과 뺄셈을 수행하며, `calculate` 함수에 인자로 전달되어 사용됩니다. 콜백 함수 함수를 인자로 전달하는 가장 일반적인 경우는 콜백 함수(callback function)입니다. 콜백 함수는 특정 이벤트가 발생했을 때 호출되는 함수입니다. 예를 들어, 배열의 메서드인 `forEach`, `map`, `filter` 등은 모두 콜백 함수를 인자로 받습니다. ```javascript const numbers = [1, 2, 3, 4, 5]; const doubled = numbers.map(function(num) { return num * 2; }); console.log(doubled); // [2, 4, 6, 8, 10] ``` 위의 예제에서 `map` 메서드는 각 요소에 대해 주어진 함수를 호출하여 새로운 배열을 생성합니다. 이때 전달된 함수는 각 요소를 두 배로 만드는 역할을 합니다. 화살표 함수 자바스크립트에서는 화살표 함수(Arrow Function)를 사용하여 함수를 더 간결하게 정의할 수 있습니다. 화살표 함수는 특히 콜백 함수로 사용할 때 유용합니다. ```javascript const numbers = [1, 2, 3, 4, 5]; const doubled = numbers.map(num => num * 2); console.log(doubled); // [2, 4, 6, 8, 10] ``` 위의 예제에서 화살표 함수를 사용하여 `map` 메서드에 전달된 함수를 더 간단하게 표현했습니다. <a href='https://sangseek.com/sangseeks/클로저/ko'>클로저</a>와 함수 인자 함수를 인자로 전달하는 것은 클로저(Closure)와 함께 사용할 때도 매우 유용합니다. 클로저는 함수가 자신이 생성된 환경의 변수에 접근할 수 있는 기능을 말합니다. 이를 통해 외부 함수의 변수를 <a href='/sangseeks/내부 함수/ko'>내부 함수</a>에서 사용할 수 있습니다. ```javascript function makeCounter() { let count = 0; return function() { count++; return count; }; } const counter = makeCounter(); console.log(counter()); // 1 console.log(counter()); // 2 console.log(counter()); // 3 ``` 위의 예제에서 `makeCounter` 함수는 내부에 `count` 변수를 가지고 있으며, 이 변수를 증가시키는 함수를 반환합니다. 이 반환된 함수는 `count` 변수에 접근할 수 있는 클로저입니다. 결론 자바스크립트에서 함수를 인자로 전달하는 것은 매우 강력한 기능입니다. 이를 통해 코드의 재사용성을 높이고, 다양한 프로그래밍 패턴을 구현할 수 있습니다. 콜백 함수, 클로저, 화살표 함수 등 다양한 방법으로 함수를 인자로 전달하여 자바스크립트의 유연성을 최대한 활용할 수 있습니다. 이러한 특성 덕분에 자바스크립트는 웹 개발, 서버 사이드 프로그래밍, 데이터 처리 등 다양한 분야에서 널리 사용되고 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기