4.3 함수 매개변수 패턴(Parameter pattern)

지구·2023년 7월 19일
0

JavaScript

목록 보기
18/30

1. 기본값 (Default value)

funcrion sum(a, b) {
	return a + b
}

console.log(sum(1, 2)) // 3
console.log(sum(7)) // NaN
funcrion sum(a, b = 1) {
	return a + b
}

console.log(sum(1, 2)) // 3
console.log(sum(7)) // 8

매개 변수로 들어와야할 데이터가 들어오지 않으면 사용할 기본 값을 지정해줄 수 있다.

2. 구조 분해 할당

객체 구조 분해 할당

const user = {
	name: "jigu",
	age: 85
}

function getName(user) {
	const { name } = user
	return name
}

console.log(getName(user)) // jigu
const user = {
	name: "jigu",
	age: 85
}

function getName({ name }) {
	return name
}

console.log(getName(user)) // jigu

두번째 코드와 같이 매개변수에서 구조 분해 할당을 하면 첫번 째 코드보다 간략하게 코드를 짤 수 있다.

배열 구조 분해 할당

const fruits = ['Apple', 'Banana', 'Cherry']

function getSecondItem([, b]) {
	return b
}

console.log(getSecondItem(fruits)) // Banana

나머지 매개 변수(Rest parameter)

function sum(**...rest**) {
	console.log(rest)
	return rest.reduce(function (acc, cur) {
		return acc + cur
	}, 0)
}

7, 8)
]
console.log(sum(1, 2)) // 3
console.log(sum(1, 2, 3, 4)) // 10
console. log(sum(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) // 55

...rest 처럼 매개변수에 전개 연산자를 이용해서 나머지 매개 변수로 사용할 수 있다.

나머지 매개 변수 구문을 사용하면 함수가 정해지지 않은 수의 매개변수를 배열로 받을 수 있다.

arguments

arguments 객체는 함수에 전달된 인수에 해당하는 Array 형태의 객체이다.

유사 배열 (Array-Like)라고도 한다. 언제든지 함수에서 사용할 수 있다.

arguments는 배열 처럼 메소드를 사용할 수 없어서 선언부가 없어서 직관적으로 파악하기 힘들어 나머지 매개변수를 쓰는 것이 권장된다.

profile
프론트엔트 개발자입니다 🧑‍💻

0개의 댓글