상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 자바스크립트에서 함수를 변수에 할당할 수 있나요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
네, <a href='https://sangseek.com/sangseeks/자바/ko'>자바</a>스크립트에서 함수를 변수에 할당하는 것은 매우 일반적인 패턴이며, 이는 자바스크립트의 일급 객체(first-class citizen) 특성 덕분에 가능합니다. 일급 객체란, 객체가 다른 객체와 동일하게 취급될 수 있는 것을 의미하며, 함수도 객체의 일종이기 때문에 변수에 할당하거나 인자로 전달하거나 반환할 수 있습니다. 함수 할당의 기본 예 함수를 변수에 할당하는 기본적인 방법은 다음과 같습니다: ```javascript function greet() { console.log("Hello, World!"); } const greetingFunction = greet; // 함수를 변수에 할당 greetingFunction(); // "Hello, World!" 출력 ``` 위의 예에서 `greet` 함수는 `greetingFunction`이라는 변수에 할당되었습니다. 이제 `greetingFunction`을 호출하면 원래의 `greet` 함수가 실행됩니다. <a href='https://sangseek.com/sangseeks/익명 함수/ko'>익명 함수</a>와 화살표 함수 자바스크립트에서는 익명 함수(이름이 없는 함수)와 화살표 함수(Arrow Function)도 사용할 수 있습니다. 이 경우, 함수를 변수에 직접 할당할 수 있습니다: ```javascript const add = function(a, b) { return a + b; }; console.log(add(2, 3)); // 5 출력 const multiply = (a, b) => a * b; console.log(multiply(2, 3)); // 6 출력 ``` <a href='https://sangseek.com/sangseeks/함수 표현식/ko'>함수 표현식</a>과 <a href='https://sangseek.com/sangseeks/함수 선언/ko'>함수 선언</a> 자바스크립트에서는 함수를 선언하는 두 가지 주요 방법이 있습니다: 함수 선언(Function Declaration)과 함수 표현식(Function Expression). 함수 표현식은 함수를 변수에 할당하는 방식으로 정의됩니다. ```javascript // 함수 선언 function sayHello() { console.log("Hello!"); } // 함수 표현식 const sayGoodbye = function() { console.log("Goodbye!"); }; sayHello(); // "Hello!" 출력 sayGoodbye(); // "Goodbye!" 출력 ``` 고차 함수 자바스크립트에서는 함수를 인자로 받거나 함수를 반환하는 고차 함수(Higher-Order Function)를 만들 수 있습니다. 이는 함수형 프로그래밍의 중요한 개념 중 하나입니다. ```javascript function createMultiplier(multiplier) { return function(x) { return x * multiplier; }; } const double = createMultiplier(2); console.log(double(5)); // 10 출력 const triple = createMultiplier(3); console.log(triple(5)); // 15 출력 ``` 위의 예에서 `createMultiplier` 함수는 `multiplier` 값을 인자로 받아서, 그 값을 곱하는 함수를 반환합니다. 이렇게 함수를 변수에 할당하고, 이를 통해 새로운 함수를 생성하는 것이 가능합니다. 클로저 함수를 변수에 할당할 때 클로저(<a href='https://sangseek.com/sangseeks/Closure/ko'>Closure</a>) 개념도 중요합니다. 클로저는 함수가 자신이 생성될 때의 스코프(scope)를 기억하는 기능입니다. 이를 통해 외부 함수의 변수를 내부 함수에서 사용할 수 있습니다. ```javascript function makeCounter() { let count = 0; return function() { count += 1; return count; }; } const counter = makeCounter(); console.log(counter()); // 1 출력 console.log(counter()); // 2 출력 console.log(counter()); // 3 출력 ``` 위의 예에서 `makeCounter` 함수는 내부에 `count` 변수를 가지고 있으며, 이 변수를 증가시키는 함수를 반환합니다. `counter` 변수는 이 함수를 참조하고 있으며, 호출할 때마다 `count` 변수가 증가합니다. 결론 자바스크립트에서 함수를 변수에 할당하는 것은 매우 유용하고 강력한 기능입니다. 이를 통해 코드의 재사용성을 높이고, 다양한 프로그래밍 패턴을 구현할 수 있습니다. 함수형 프로그래밍의 개념을 활용하여 더욱 유연하고 모듈화된 코드를 작성할 수 있습니다. 이러한 특성 덕분에 자바스크립트는 웹 개발에서 널리 사용되는 언어가 되었습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기