[Javascript] 함수

앤쨩·2021년 10월 26일
0

Javascript

목록 보기
4/8
post-thumbnail

🧾 함수(function)

반복적으로 수행되는 일이 있다면 함수로 만든다.
=> 즉 할일을 만들어 준다.
함수를 만들어주면 필요할 때 또 쓸 수 있기 때문이다.

🚀 함수 선언

function anne(parameter) {
  // statements
}
 // 매개변수(parameter)
 // -> 매개변수의 최대 개수는 엔진마다 다르다.

기본적으로 함수는 undefined를 한다. 다른 값을 반환하기 위해서 함수는 반환값을 지정하는 return 문이 있어야 한다.

function add(num1, num2) {
  return num1 + num2;
}
const sum = add(3, 4);
console.log(sum); // 7

함수를 변수에 할당할 수도 있다.

function add(num1, num2) {
  return num1 + num2;
}
---
// 변수 doSomething에 함수add 할당
const doSomething = add;
---
// 변수 result에 add함수를 할당받은 doSomething 할당
// 인수 3,4 를 가지고 있음
const result = doSomething(3, 4);
console.log(result); // 7

print함수는 무언가를 출력하는 함수이다.
인자가 없다면 아무런 인풋도 받지않는다.

function print(a, b) {
  console.log(`$(a) $(b)`); // `$()` 사용
}
print(8, 10); // 8 18 출력

🎈 응용하기

function add(num1, num2) {
  return num1 + num2;
}
---
function divide(num1, num2) {
  return num1 / num2;
}
---
function surprise(operator) {
  const result = operator(2, 3); // = add(2, 3)
  const result2 = operator(2, 3); // = divide(2, 3)
  console.log(result); // console에 5출력
}
surprise(add); // add 라면 5 | divide 라면 2/3값

🧾 화살표함수(Arrow Function)

전통적인 함수표현(function)의 간편한 표현방법이다. 하지만, 화살표 함수는 몇 가지 제한점이 있고 모든 상황에 사용할 수는 없다.

  • this나 super에 대한 바인딩이 없고, methods 로 사용될 수 없다.
  • new.target키워드가 없다.
    일반적으로 스코프를 지정할 때 사용하는 call, apply, bind methods를 이용할 수 없다.
  • 생성자(Constructor)로 사용할 수 없다.
  • yield를 화살표 함수 내부에서 사용할 수 없다.

    Internet Explorer에서는 지원하지 않는다.
let a = 2;
let b = 4;
/*
function (){
  return a + b + 100;
}
*/
() => a + b + 100;
profile
Front-End Developer

0개의 댓글

관련 채용 정보