함수

2023. 4. 16. 20:29zerobase/javascript

728x90

함수

비슷한 코드가 반복해서 사용될 때 사용한다.

 

1) 함수 선언식

    function 함수이름(매개변수 = 기본값) {

        // 코드

    }

2) 함수 표현식

    const 함수이름 = function(매개변수) {

        // 코드

    }

let a = 2;

const makeNumber = function (value = 10000) { // 초기값
  // 숫자가 아니거나 0보다 작으면 0으로 return, 넘겨진 value를 숫자형으로 만들어서 return
  if (value < 0) return 0; // early return

  let a = 1;
  // console.log(a); // 지역변수가 전역변수를 가림

  const newValue = Number(value);
  return isNaN(newValue) ? 0 : newValue;
};

console.log(makeNumber(0)); //0
console.log(makeNumber(undefined)); //0
console.log(makeNumber(null)); //0
console.log(makeNumber('23')); //23

// console.log(value, newValue); // 지역변수 접근 불가 
console.log(a); // 2 -> 전역 변수만 접근 가능

 

3) 화살표 함수

    const 함수이름 = (매개변수) => {

      // 코드

    }

funcA();
// funcB(); // Error
// funcC(); // Error

function funcA() { // 미리 생성
  console.log('function A');
}
const funcB = function () { // 코드 실행 시 생성
  console.log('function B');
}
const funcC = () => { // 코드 실행 시 생성
  console.log('function C');
}

funcB();
funcC();
함수 실행 시에는 함수이름(); 변수는 스코프에 따라 지역변수, 전역변수로 나뉨

'zerobase > javascript' 카테고리의 다른 글

배열  (0) 2023.04.16
객체  (0) 2023.04.16
조건문과 반복문  (0) 2023.04.16
자료형과 형 변환  (0) 2023.04.16
기본문법  (0) 2023.03.29