[js] 함수

mynoseis3·2024년 2월 9일
0

javascript

목록 보기
10/13
post-thumbnail

함수

  • 자바스크립트에서 함수란 재사용 가능한 코드 블록을 말한다.
  • 일련의 작업을 수행하고 값을 반환할 수 있다.
  • 함수는 변수에 할당하고 전달할 수도 있으며, 다른 함수 내에서 선언될 수도 있다.
  • 자바스크립트에서 함수는 객체의 한 유형이다.

++
함수는 프로그래밍에서 애플리케이션의 동작을 추상화하는 데 도움을 준다.
함수를 사용하면 복잡한 동작을 하나의 이름으로 묶어 표현할 수 있으며,
이는 코드를 이해하고 유지보수하기 쉽게 만들어준다.

함수 예시

// 함수 선언
function greet(name) {
  return 'Hello, ' + name + '!';
}

// 함수 호출
console.log(greet('John')); // 출력: Hello, John!

매개변수(Parameters)

함수를 정의할 때 괄호 안에 지정한 변수를 매개변수라고 한다.
이 매개변수는 함수가 호출될 때 전달되는 값(arguments)을 받아들이는 역할을 한다.
매개변수는 함수 내에서 변수로 사용될 수 있고 함수가 호출될 때 전달된 값으로 초기화된다.
매개변수는 함수의 정의에서 선언되며, 함수 내부에서 지역 변수로 취급된다.

function greet(name) {
  console.log('Hello, ' + name + '!');
}
greet('gamza'); // 출력: Hello, gamza!

예를 들어 위 코드에서 name은 greet 함수의 매개변수로서
함수가 호출될 때 전달된 값('gamza')으로 초기화된다.

return

함수에서 값을 반환할 때 사용되는 키워드
함수가 호출된 후에 실행되는 코드 중 return 키워드를 만나면
함수의 실행이 중단되고 해당 값을 반환한다.
반환된 값은 함수를 호출한 코드에서 사용할 수 있다.
return 키워드 뒤에 값이나 표현식을 지정하여 해당 값을 반환하고
만약 return 키워드 뒤에 아무 값도 지정하지 않으면 undefined를 반환한다.

function add(a, b) {
  return a + b;
}

let result = add(5, 3);
console.log(result); // 출력: 8

위 코드에서 add 함수는 두 개의 매개변수 a와 b를 받아들이고,
이 두 값을 더한 후에 return 키워드를 사용하여 그 결과를 반환한다.
함수를 호출한 코드에서는 이 반환된 값을 변수에 할당하여 사용할 수 있다.


함수의 또다른 이름들

  • method : 메서드는 객체 내에서 함수를 뜻하는 용어
  • 익명 함수(Anonymous function) :
    일시적으로 쓰이고 말 함수들에 대해선 익명함수로 만들어준다.
  • 람다식 함수 : => 를 사용하여 함수를 정의하는 경우이다.
    ES6에서 도입되었고 간결한 문법을 가진다.
  • 콜백 함수 : 다른 함수의 매개변수로 전달된 함수
    주로 어떤 함수에 매개변수로 들어가 어떤 특정한 조건이 되었을 때만 호출이 된다.
    이벤트 처리나 비동기 작업에서 자주 활용된다.

함수 문제

두 수를 입력받아 두 수 사이의 모든 수를 배열로 반환하는 함수 구현하기

function range(start, end) {
  // 시작과 끝이 같은 경우 빈 배열 반환
  if (start === end) {
    return [];
  }

  // 시작이 끝보다 큰 경우 빈 배열 반환
  if (start > end) {
    return [];
  }

  // 결과를 담을 배열 생성
  const result = [];

  // 시작부터 끝까지의 수를 배열에 추가
  for (let i = start; i <= end; i++) {
    result.push(i);
  }

  return result;
}

// 예시 사용법
console.log(range(1, 5)); // [1, 2, 3, 4, 5]
console.log(range(5, 1)); // []
console.log(range(4, 4)); // []
console.log(range(-3, 3)); // [-3, -2, -1, 0, 1, 2, 3]

함수 관련 문제들은 따로 더 정리해두자 !!

문서
https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Functions

profile
웹개발자 꿈나무 꾸준함의 힘을 믿습니다 🚶

0개의 댓글

관련 채용 정보