1. 함수란? 함수는 자바스크립트에서 가장 중요한 핵심이다. 스코프, 실행 컨택스트, 클로저, 메서드, this, 프로토타입, 모듈화, 생성자 함수에 의한 객체 생성 등이 모두 함수과 관련되어있다. 함수는 동작하고자 하는 동작을 미리 만들어둔 기계와 같다. 프로그래밍 언어의 함수는 일련의 과정을 문(statement)으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것이다. 함수는 입력을 받아 출력하게 된다. 이때 입력으로 인수를 매개변수로 받게된다. 출력은 반환값을 출력하게 된다. 함수는 함수 정의를 통해 생성한다. 위의 사진은 함수 선언의 예시이며, 다양한 방법으로 함수를 선언할 수 있다. 함수는 정의한뒤 함수 호출을 통해 함수를 실행하게된다. 함수를 호출하면 코드를 실행하게된다. 이때 ..
함수 선언문
호이스팅 이 개념은 선수지식으로 스코프를 알고 있어야 된다. 호이스팅이란? "끌어올린다" 라는 뜻으로 변수 및 함수 선언문이 스코프 내의 최상단으로 끌어욜려지는 현상을 말한다. 즉, 선언문이 어디에서 선언됐든 속하는 스코프 전체에서 존재하는 것처럼 취급되는 작용을 말한다. 주의할 점은 "선언문" 이며, "대입문"은 끌어올려지지 않는다. console.log(a); var a = 2; 컴파일러는 JS엔진이 *인터프리팅(Interpreting)을 하기 전에 컴파일을 하는데 이때, var a = 2; 를 2개의 구문으로 본다. * = 인터프리팅은 기계어를 기계어를 다른 언어로 번역할 필요 없이 프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램 또는 환경 var a a = 2 var a 는 변수 선언..