[JS] Function 선언 방법과 Default parameter

JunSeok·2023년 12월 11일
0

Javascript

목록 보기
8/16

Function 선언 방법

함수 선언식(Function Declaration)

  • function 키워드를 사용해서 함수를 선언한다.
  • 호이스팅이 적용되어, 선언 전에 호출 가능하다. 호이스팅 정리글
function age(birthYear) {
	return 2023 - birthYear;
}

const myAge = age(1900);

함수 표현식(Function Expression)

  • 자바스크립트에서 함수는 first-class 시민이다. 그러한 특성을 이용하는 방식이 함수 표현식이다.
    - 변수에 함수를 저장할 수 있다.
    - 함수의 파라미터로 전달하는 콜백함수로 사용이 가능하다.
    - 함수를 return 값으로 사용할 수 있다.
  • 이후 arrow function으로 발전한다.
const age = function (birthYear) {
	return 2023 - birthYear;
}

const myAge = age(1900);
  • 호이스팅의 영향을 받지 않기 때문에 선언 전에 호출할 수 없다.
// 선언 전 사용 예시
const myAge = age(1900);

const age = function (birthYear) {
	return 2023 - birthYear;
}

// 코드 실행 순서
const myAge;
const age;

// age변수는 아직 함수가 아니기 때문에 age is not a function이라는 error가 발생한다.
myAge = age(1900);
age = function (birthYear) {
	return 2023 - birthYear;
}

화살표 함수(Arrow Function)

  • 함수 작성이 매우 빠르다.
  • 콜백함수로 사용이 가능하다.
  • 한 줄로 작성할 시 중괄호와 return 키워드가 필요없다.
const calcAge3 = birthYear => 2037 - birthYear;

const yearsUntilRetirement = (birthYear, firstName) => {
	const age = 2037 - birthYear;
	const retirement = 65 - age;
	return `${firstName} retires in ${retirement} years`
}

Default Parameter

  • 함수의 parameter에 default 값을 설정할 수 있다.
  • parameter는 배열처럼 순서가 있다.
    때문에 먼저 나온 parameter의 값을 이용하여 나중에 나오는 parameter 값을 계산하여 default 값을 설정할 수 있다.
  • 중간 parameter를 빼먹고 호출하고 싶으면 undefined 를 설정해주면 된다.
const bookings = [];
const createBooking = (flightNum, numPassengers = 1, price = 199 * numPassengers) => {
	const booking = {
    	flightNum,
     	numPassengers,
     	price
    }
    bookings.push(booking);
};

createBooking('LH123');
createBooking('LH1234', undefined, 1000);

참조

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/Default_parameters
https://poiemaweb.com/js-function
https://poiemaweb.com/es6-arrow-function
https://www.udemy.com/course/the-complete-javascript-course/

profile
최선을 다한다는 것은 할 수 있는 한 가장 핵심을 향한다는 것

0개의 댓글