Function 함수란?

seungyeon·2021년 11월 7일
0

JS

목록 보기
1/6

함수: 어떤 작업을 수행하기 위해 코드를 묶어 값을 계산하거나 수행한다. 입력 - 연산 - 출력

1. 함수(Function)

  • 기본 형태(함수 선언문)

    js
    function name(param1,param2) {
        return param1 + param2;
    }
    • 하나의 함수에는 한개의 기능만 넣기
      - 네이밍: 명령어, 동사 (ex:showMessage 함수 이름만 보고도 무슨 동작을 하는 것인지 알 수 있게 명확하게 적어야 한다)
      - 함수정의문은 세미콜론 X
  • 이름 없는 함수(익명함수) 함수표현식
    - 함수를 값으로 취급할 수 있어서 반드시 변수에 넣어야 사용 할 수 있다

    • 식의 마지막에 세미콜론으로 끝나야 한다 ( ';' )
const result = function() {
	return 1000;
};
result();
  • 즉시 실행 함수 (Immediately-invoked function expression)
    - 함수를 정의하고 바로 실행하여 다시 호출할 수 없다(일반적으로 익명함수 사용한다)
(function() {
	console.log('실행');
})();
  • Arrow function 이름이 없고 간단한 쓸 수 있는 함수
    - function키워드 생략, return 생략(한줄일 경우)
const 변수명 = (매개변수) => {내용};
const add = (a, b) => a + b;

2. 함수 호출

  • 함수를 정의하는 것은 실행을 하는 것이 아니다. 호출을 해야지 수행을 한다.
function myFn(){
	return 1;
}
const result = myFn();
result(); // 함수 호출


console.log(a); // a는 함수를 정의하고 작동이 가능하지만 초기값인 undefined 호이스트
function a() {
	return 1;
}

console.log(x(2));
const x = function(n) { // 표현식에서 함수보다 먼저 호출하는 경우에는 오류 발생 동작하지 않는다
	return n*n;
}

3. 매개변수와 인자

  • Parameters(매개변수)
    - 함수를 선언하고 정의할 때는 매개변수가 사용된다
    - primitive parameters: passed by value 메모리에 값이 저장된다
    - object parameters: passed by reference 값의 주소가 저장된다(함수안에서 오브젝트 값을 변경하면 변경된 사항이 메모리에 저장된다)
function chageName(obj) {
  obj.name = 'apple';
}
const banana = {
name:'banana'
};
chageName(banana); // 'apple' 이 'banana'로 변경된다
  • default parameters
    - 매개변수에 value를 입력하면 인자 값이 없을 때 value 나온다
 function showDay(m = 'Mon') {
 	console.log('Today is' + m);
 }
 
 showDay(); // 'Today is Mon'으로 나온다
 
  • Argument(인자)
    - 함수를 호출할때 입력되는 값이다(value)

0개의 댓글

관련 채용 정보