TIL 21.10.08 Javascript

서재환·2021년 10월 8일
0

TIL

목록 보기
34/37

함수

매개변수

최대 3개 이상을 넘지 않는 것을 권장한다. 
그 이상의 매개변수가 필요하면 하나의 매개 변수를 선언하고 객체를 인수로 전달하는 것이 좋다. 
return
return 값이 없을 경우 undefiend를 반환한다. 
return 값을 써주지 않아도 undefined를 반환한다.
return은 함수 몸체 내에서만 써주어야 한다.

function foo() {
  return;
}

function foo(){}
throw new TypeError
매개변수에 의도하지 않은 타입이 들어왔을 때 아래와 같이 처리해줄 수 있다.

function add(x, y) {
  if (typeof x !== 'number' || typeof y !== 'number') {
    throw new TypeError ('x, y에 숫자를 기입해서 작성해주세요')
  }
  return x + y;
}

add(1) // TypeError: x, y에 숫자를 기입해서 작성해주세요
add(1,2) // 3
매개변수로서의 객체
매개변수에 객체가 전달 될 경우 해당 객체를 참조하게 되는데 이는 함수 몸체에서 원본 객체를 변경 할
수가 있다는 의미이다. 따라서 객체를 매개변수로 하는 함수를 사용할 때 깊은 복사를 통해 새로운 객체
를 생성해서 조작하는 것이 상대적으로 에러를 발생시키지 않는다.
순수함수 그리고 함수형 프로그래밍
외부상태를 변경하지 않고 and 외부 상태에 의존하지도 않는 함수를 순수함수라고 하고 순수함수를 통해
부수효과를 억제하여 오류를 피하고 프로그램의 안전성을 높이려는 프로그래밍 패러다임을 함수형 프로그래
밍이라고 한다.
생성자 함수에 의한 객체 생성
생성자 함수에 의해 생성된 객체를 인스턴스라고 한다. 아래 person은 인스턴스이다. 

Object이외에도 아래와 같은 생성자 함수를 제공한다.

String()
Number()
Boolean()
Function()
Array()
Date()
RegExp()
Promise()

const person = new Object();

그러면 왜 생성자함수를 사용할까? 객체 리터럴로 객체를 생성하는 것이 직관적인데...

0개의 댓글