개발/JavaScript

[JavaScript] 함수 생성하는 방법, 지역변수/전역변수, 함수 호이스팅(hoisthing)

뉴NEW 2022. 9. 19. 17:40

< 함수를 생성하는 방법 >

1. function 키워드와 함수명을 사용하여 명시적으로 생성하는 방법

2. Function() 생성자 함수를 사용하는 방법

- 파라미터를 차례대로 나열하고, 마지막에 리턴값을 설정

- 단점: 함수 생성을 객체로 취급하므로 시간이 걸리고 효율이 떨어짐

- 간단하게 만들어 사용하는 장점은 있지만 빈번하게 호출하면 효율 떨어지므로 권장 x

- 반드시 함수 생성 위치 이후에 사용해야 함. 그렇지 않으면 에러 발생 (2번 방법)

3. 익명함수(anonymous function)로 사용하는 방법, 함수 리터럴로 사용하는 방법

- function(){ } 을 사용하여 변수에 대입하여 사용하는 방법

- 다양한 변형 방법으로 응용하여 사용하게 됨

- 반드시 함수 생성 위치 이후에 사용해야 함. 그렇지 않으면 에러 발생

 

1번 방법 = function 키워드와 함수명을 사용

함수 호출은 위치와 상관없이 실행됨

 

2번 방법 - Function() 생성자 함수를 사용

 

3번 방법 - 익명 함수를 정의하여 사용하는 방법, 함수 리터럴을 정의하는 방법

 

3가지 방법 모두 function 타입으로 인정

자바스크립트에서는 function도 데이터타입으로 인식

함수에 변수를 대입할 수도 있음

 

< 지역변수와 전역변수 >

1. 지역변수(licaal variable) 함수 에서 선언하고, 함수 에서만 사용 가능

2. 전역변수(global variavle) 함수 에서 선언하고, 함수 에서만 사용 가능

 

< 함수의 호이스팅(hoisting) >     ??????????????9/14 - function04

- 함수를 사용하는 시점에는 없으나 뒤에 정의된 함수를 끌어 당겨 사용하는 방법

- 기본 함수에서는 호이스팅 사용O, 익명함수에서는 호이스팅 사용X.