티스토리 뷰
나머지 매개변수화 스프레드문법
나머지 매개변수...
여분의 매개변수는 그 값들을 담을 배열 이름을 마치표 세개...뒤에 붙여주면 함수 선언부에 포함가능
마침표 세개 ... 는 남아있는 매개변수들을 한데 모아 배열에 집어넣어라 의미
나머지 매개변수는 항상 마지막에 있어야함
arguments 객체
유사배열객체인 arguements를 사요하면 인덱스를 사용해 인수에 접근 가능
화살표 함수는 agruments 객체를 지원하지않는다
변수의 유효범위와 클로저
코드 블록
코드 블록{...} 안에서 선언한 변수는 블록 안에서만 사용 가능
{
// 지역 변수를 선언하고 몇 가지 조작을 했지만 그 결과를 밖에서 볼 수 없습니다.
let message = "안녕하세요."; // 블록 내에서만 변숫값을 얻을 수 있습니다.
alert(message); // 안녕하세요.
}
alert(message); // ReferenceError: message is not defined
블록이 없으면 에러 발생
중첩 함수
함수 내부에서 선언한 함수는 중첩 함수라고 부름
중첩함수는 새로운 객체의 프로퍼티 형태나 중첩 함수 그자체로 반환 될 수 있음
어디서든 호출해 사용 할 수 있다 ! 외부변수에 접근할 수도 있다 !
렉시컬 환경
전역 객체
전역객체 사용시 어디서나 사용 가능한 변수,함수를 만들 수 있음
전역 객체는 언어 자체나 호스트환경에 기본 내장되어있는 경우 많음
프로젝트 전체에서 꼭 필요한 변수만 전역 객체에 저장하고, 전역 변수는 가능한 한 최소한으로 사용