함수 선언 대 JS의 함수 표현식

3848 단어 javascript
요전에 JavaScript를 배울 때 이 질문을 우연히 발견하여 두 가지 유형의 함수 간의 차이점을 이해하기 위해 약간의 독서를 했습니다. 나는 나의 독서를 바탕으로 내가 수집한 몇 가지 요점을 요약하려고 노력할 것이다.

함수 선언 소개




// Example of Function Declaration 
function multiplyNum(firstNum, secondNum) {
    return firstNum * secondNum;
}


함수 선언은 함수를 선언하고 함수를 호출하면 호출됩니다. 또한 function 키워드를 사용하여 정의하고 이름과 괄호 {}를 사용하여 정의해야 합니다.

함수 표현식 소개




// Example of Function Expression 
var multiplyNum =  function(firstNum, secondNum) {
    return firstNum * secondNum;
}


함수 표현식은 기본적으로 변수에 저장되는 JavaScript 함수입니다. 위의 예에서는 function 키워드를 먼저 사용하여 함수를 작성하지 않고 대신 변수를 정의하는 것처럼 작성합니다.

게양



이것은 두 기능 사이의 미묘하지만 중요한 차이점입니다. JavaScript 파일을 실행하면 코드가 실행되기 전에 함수 선언이 코드 맨 위로 올라갑니다. 즉, 함수 선언으로 작성된 함수는 코드가 실행되기 전에 알려져 있습니다.

// We can call the function before we declare it
console.log(multiplyNum(1,3))

// Example of Function Declaration 
function multiplyNum(firstNum, secondNum) {
    return firstNum * secondNum;
}
//3


반면에 함수 표현식으로 작성된 함수는 스크립트를 실행할 때 호이스팅되지 않습니다. 예를 들어 아래 코드를 실행할 때 값 3 대신 오류가 발생합니다.

// When we call the function before we declare it
console.log(addNum(1,4))

// Example of Function Declaration 
var addNum = function(firstNum, secondNum) {
    return firstNum + secondNum;
}
// We will get error message instead of the value 5.


어느 것을 사용해야 합니까?



대답은 개인 취향의 문제입니다. 함수를 선언하기 전에 함수를 호출하려면 분명히 함수 선언이 최선의 선택입니다. 더 나은 구조를 원한다면 함수 표현식을 답으로 고려할 수 있습니다.

대체로 행복한 코딩을 하고 이 게시물에서 무언가를 배웠기를 바랍니다. 건배!

좋은 웹페이지 즐겨찾기