Study/JavaScript
[모던 자바스크립트] 04-1 함수 ~ 04-2 스코프
김만재
2023. 1. 15. 18:06
- 함수 function: 동작해야 할 목적대로 여러 개의 명령을 묶는 것
function 함수명() {
명령(들)
}
- 보통 함수 선언 소스를 실행 소스보다 앞에 작성
- 함수 선언 소스를 실행 소스보다 뒤에 두면 호이스팅이 발생해 선언 부분을 앞으로 끌어당겨 해석
- 매개변수 parameter: 함수를 선언할 때 외부에서 값을 받는 변수
- 인수 argument: 매개변수가 있는 함수를 호출할 때 실제로 값을 넣어 넘겨주는 것
- 스코프 scope: 선언한 변수의 적용 범위. 어느 위치에서 변수를 접근할 수 있는지를 가리킴.
- 지역 스코프 local scope: 변수를 특정 영역에서만 사용할 수 있을 때 '지역 스코프를 가지고 있다'고 말하고, 이런 변수를 '지역 변수'라고 함.
- 전역 스코프 global scope: 프로그램의 시작 부분에서 변수를 선언하면 프로그램 전체에서 사용할 수 있는 스코프. 전역 스코프를 가지는 변수를 '전역 변수'라고 함.
- 전역 변수는 함수의 어디에서나 값을 변경할 수 있음.
- 함수에서 변수를 선언할 때, 변수 이름 앞에 var 예약어를 붙이지 않으면 전역 변수로 인식하고 var를 사용해 선언하면 함수에서만 사용하는 지역 변수가 됨.
- let이나 const를 사용한 변수도 프로그램의 맨 앞에 선언하면 프로그램 전체에서 사용할 수 있음. 하지만 이 경우에는 '전역 스코프를 가진다'고 하지 않고 '스크립트 스코프를 가진다'고 함.
- 블록 스코프 block scope: JS에서 블록은 중괄호{}로 둘러싸인 영역을 가리키는데, 블록별로 변수의 유효 범위가 결정되는 것을 '블록 스코프'라고 함.
- 가독성을 높이고 디버깅이 쉽도록 변수를 사용하는 방법
① var 변수보다 let, const 변수 사용
② 전역 변수는 최소한으로 사용
③ 객체 선언은 const를 사용