[Javascript] 함수 사용 시 주의점

youngseo·2022년 3월 25일
0

Javascript

목록 보기
2/46
post-thumbnail

함수 사용 시 주의점

1. return

함수 내부에서 return 키워드를 사용하는 것은 return 뒤에 작성된 내용이 함수 밖으로 반환된다는 것도 의미하지만 return 키워드가 사용된 부분에서 함수가 종료된다는 것도 의미합니다.

따라서 아래와 같이 return키워드 이후 작성된 console코드는 실행되지가 않습니다.

function sum(x, y) {
  return x+y
  console.log(x)  
}

sum(1,3)

또한 이러한 특성을 이용해 아래와 같이 조건문에서 활용할 수도 있습니다.

function sum(x, y) {
  if(x<2) {
    return
  } else {
    return x + y
  }
}

sum(7,3)

2. arguments

함수 안에서는 따로 매개변수를 지정하지 않아도 arguments라는 특정 객체를 사용할 수 있습니다. arguments는 함수 안에서 언제든지 사용할 수 있도록 설계되어 있습니다.

function sum() {
  console.log(arguments)
  return
}

console.log(sum(7,3))
▼Arguments(2)
  0: 7
  1: 3
  ▶callee: ƒ sum()
  length: 2
  ▶Symbol(Symbol.iterator): ƒ values()
  ▶[[Prototype]]: Object

확인을 해보면 arguments 객체에는 함수를 실행할 때 인수로 넣은 값이 배열형태로 들어가 있는 것을 확인할 수 있습니다.

따라서 아래와 같이 활용해 결과적으로 10을 출력해낼 수 있습니다.

function sum() {
  console.log(arguments)
  return arguments[0] + arguments[1]
}

console.log(sum(7,3))

arguments 는 언제 사용되나?
함수를 실행할 때 실행하는 인수가 너무 많아서 매개변수를 일일히 지정하기가 너무 어려운 경우 arguments 객체를 활용 할 수 있습니다.

하지만 arguments[0] + arguments[1]와 같은 코드는 직관적이지 않기에 되도록이면 아래와 같이 이름을 지정을 해 받는 인수가 어떤 인수인지를 명시적으로 나타내는 것을 권장합니다.

function sum(x, y) {
  return x + y
}
console.log(sum(7,3))

0개의 댓글