Notice
Recent Posts
Recent Comments
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- var
- IT
- 함수
- const
- 자바스크립트
- 목적
- 코딩
- 생성형 Ai
- 기초다지기
- while
- 프론트엔드
- HTML
- let
- AWS
- blockchain
- 워터폴개발
- 기본연산
- 코린이
- CSS
- 프로젝트 방법론
- 성공으로 가는 길
- system integration
- 블록체인
- 캐시
- 그릿
- for
- JavaScript
- Promise
- 시스템 통합
- 스크럼
Archives
- Today
- Total
Grit
자바스크립트 함수 본문
자바스크립트의 함수는 코드의 재사용성을 높이고, 복잡한 작업을 간결하게 표현하는 데 도움이 됩니다. 또한 모듈화와 코드의 구조화에 중요한 역할을 하여, 이벤트 처리, 비동기 프로그래밍, 클로저와 같은 고급 자바스크립트 개념의 기반이 됩니다.
함수의 특징
- 일급 객체(First-Class Objects) : 자바스크립트에서 함수는 일급 객체로 취급됩니다. 이는 함수를 변수에 할당하거나, 다른 함수의 인자로 전달하거나, 함수에서 반환할 수 있음을 의미합니다.
- 클로저(Closures) : 함수는 자신이 선언될 때의 환경을 기억하는 클로저를 형성할 수 있습니다.
- 고차 함수(Higher-Order-Functions) : 다른 함수를 인자로 받거나 함수를 결과로 반환하는 함수입니다.
- 재사용성 : 함수를 사용하면 동일한 코드를 여러 곳에 중복해서 작성하지 않아도 되기 때문에 유지보수를 용이하게 하며, 코드의 가독성이 향상됩니다.
함수의 기본
- 함수 선언(Declaration) : "function"키워드를 사용하여 함수를 선언합니다.
function greet(name) { // name : 파라미터(Parameter)
return 'Hello, ${name}!';
}
- 함수 호출(Invocation) : 선언된 함수는 이름을 통해 호출할 수 있습니다.
let message = greet('dongoori'); // dongoori : 인수(Argument)
console.log(message); // 출력 : Hello, dongoori!
- 매개변수(Parameters)와 전달인자(Arguments) : 함수에는 매개변수를 정의할 수 있으며, 함수 호출 시 인수(전달인자)를 전달할 수 있습니다.
- 리턴 값(Return Value) : 'return'문을 사용하여 함수의 결과값을 반환할 수 있습니다.
함수 호이스팅
함수 호이스팅은 함수 표현식에서는 쓸 수 없고 함수 선언에만 적용됩니다.
console.log(sum) // Reference Error: 초기화 되기 전에는 함수sum에 접근할 수 없습니다.
const sum = function(a) {
return a * a
}
다양한 함수 선언 방법
- 함수 선언식(Function Declarations) : 위와 같은 방법을 함수 선언식이라고 합니다.
- 함수 표현식(Function Expressions)
- 익명 함수(Anonymous Function)
let test = function(number) {
return number * number;
}
- 이름이 있는 함수(Named Function)
let test = function square(number) {
return number * number;
}
- 화살표 함수(Arrow Functions) : ES6에서 도입된 간결한 방법으로 함수를 정의할 수 있습니다.
let square = (number) => number * number;
- 콜백 함수(Callback Function) : 콜백 함수는 다른 함수에 인자로 전달되는 함수로, 그 함수가 실행될 때 호출됩니다. 콜백 함수는 자바스크립트의 비동기 처리(파일 읽기, 네트워크 요청), 이벤트 처리(클릭, 키보드 입력 등), 함수형 프로그래밍 등에서 광범위하게 사용됩니다. 여러 콜백 함수가 중첩되어 복잡한 구조를 만들 때 콜백 지옥에 빠지게 되는데, 이를 해결하기 위해서 프로미스(Promise) 나 async/await와 같은 방법을 사용할 수 있습니다.
function fetchData(callback) {
// 비동기 작업 수행(ex.데이터 로드)
setTimeout(() => { // 일정 시간을 기다린 후 실행해야 할 경우 사용
const data = 'some data';
callback(data);
}, 1000); // 두 번째 인자로 지연시간을 밀리초(ms)단위로 받음
}
fetchData((data) => {
console.log(data); // 1초 후 'some data'출력
});
// 이벤트 리스너에서의 콜백
const button = document.querySelector('button');
button.addEventListener('click', function() {
console.log('Button was clicked!');
});
'IT > 자바스크립트' 카테고리의 다른 글
| 자바스크립트 Class의 상속과 다형성 이해하기 (0) | 2024.01.31 |
|---|---|
| 자바스크립트 반복문의 기본 개념과 활용법 알아보기 (0) | 2024.01.30 |
| 자바스크립트의 조건문 (0) | 2024.01.29 |
| 자바스크립트의 기본연산 (0) | 2024.01.27 |
| 자바스크립트의 변수 (1) | 2024.01.26 |