본문 바로가기

공부 ✍

[JavaScript] 함수(Funtion)

변수를 선언하고 함수를 대입하는 방식을 함수 표현식이라고 한다.

var addOne = function(x) {
  var y = x + 1;
  return y;
};

addOne이 함수의 이름(변수의 이름)이고, x가 사용자가 넣고 싶은 것을 넣는 곳이다. x를 매개변수(Parameter)라고 한다.

함수 안에는 y라는 변수를 만든 뒤에 x값에 1을 더하라고 되어있다. return은 y값을 바깥으로 내보내고 함수를 종료하라는 의미다. 즉,  x값을 받아서 1을 더한 후 바깥으로 내보내라는 말인데 이것을 반환한다고 표현한다.

 

이 함수를 실행하려면 함수의 이름에다 소괄호(())를 붙이고, 괄호 안에 매개변수 x에 상응하는 인자를 넣어준다. 이렇게 미리 만들어둔 함수를 실행하는 행위를 호출한다라고 표현한다. 호출을 통해서 반환하는 값을 저장할 변수를 미리 만들어두는데 하단 변수 i에 addOne함수의 반환 값을 저장한다.

var i = addOne(1);
i; // 2

1을 넣으면 그 1이 매개변수 x로 전달되고 addOne 함수 내부 코드가 실행된다. x가 1이니까 y는 2가 되고, return에 의해 y값이 반환되어 i에 y의 값인 2가 저장된다. 여기서의 1은 인자(Argument)라고 부른다. 함수를 선언할 때의 괄호 안의 값은 매개변수(Parameter), 함수를 호출할 때의 괄호 안의 값은 인자(Argument)라고 한다.

var j = addOne(2); // 3
var k = addOne(100); // 101

 

 

매개변수가 2개일 때 

function multiply(x, y) {
  return x * y; 
}


var l = multiply(5, 6); // 30
var m = multiply(10, 0); // 0

 

 

매개변수가 많아질 것 같으면 객체를 주로 사용한다.

매개변수도 하나고, 인자도 객체 하나다.  n에 인자로 넣은 객체가 object 매개변수로 전달되어 함수 안에서 활용된다.

var n = function(object) {
  return object.a + object.b + object.c + object.d;
};
n({ a: 1, b: 2, c: 3, d: 4 }); // 10

 

 

var a = multiply(addOne(2), addOne(4)); // 15

var a = multiply(3, 5); // 15

 


 

[출처 및 참고]

https://developer-talk.tistory.com/m/532

https://www.zerocho.com/category/JavaScript/post/572dcbbd2115c895b0f248fd

'공부 ✍' 카테고리의 다른 글

[React] Memoization, useMemo  (0) 2023.04.20
[JavaScript] 호이스팅, TDZ  (0) 2022.10.17
null / undefined / undeclared  (0) 2022.10.17
[JavaScript] 반복문(for문)  (0) 2022.10.14
전위연산자와 후위연산자  (0) 2022.10.14