[함수] 매개변수 패턴

HeuiEun Choi·2023년 1월 25일
0

javascript

목록 보기
28/39

매개변수 패턴(parameter pattern)


function sum(a,b){
	return a + b;
}
sum(1,2);
sum(7) // NaN
  • default value 설정

function sum(a,b = 0){
	return a + b;
}
sum(1,2);
sum(7) // 7
  • 구조분해 할당(Destructuring assignment)

const user = {
	name : 'HEROPY',
    age : 20
}
function getName(user){
	return user.name
}
console.log(getName(user))

const user = {
	name : 'HEROPY',
    age : 20
}
function getName(user){
	const {name} = user
    return name
}

function getNameV2({name}){
    return name
}

const user = {
	name : 'HEROPY',
    age : 20
}
function getEmail({email = 'email이 입력되지 않았습니다.'}){
  return email;
}

console.log(getEmail(user)) //email이 입력되지 않았습니다.

배열 구조 할당 분해


const fruits = ['Apple' , 'Banana', 'Cherry']
const numbers = [1,2,3,4,5,6,7]

function getSecondItem(array){
	return array[1]
}
console.log(getSecondItem(fruits))

function getSecondItemV2([,b]){
	return b;
}
console.log(getSecondItemV2(numbers)) // 2

나머지 매개변수


function sum(...rest){
	console.log(rest); // 1,2 : []
	console.log(rest); // 1,2,3,4 : [3,4]
	return rest.reduce(function (acc, cur) {
    	return acc + cur
    }, 0)
}

function sumV2(a,b,...rest){
	console.log(rest); // 1,2 : []
	console.log(rest); // 1,2,3,4 : [3,4]
}

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

cf: 함수에서 return이 없으면 undefined가 리턴이 된다.

profile
당신을 한줄로 소개

0개의 댓글