권한분기는 가진 데이터(회원등급, 로그인여부)에 따라 주어지는 권한이 달라지는 것을 의미한다.
예를 들어 로그인을 하지 않고 https://mail.naver.com/을 url창에 입력하면
당연히 메일 목록이 뜨지 않고 로그인 요청 페이지로 라우팅된다.
이 외에도 사이트 관리자 권한, 쇼핑몰 판매자 권한 등 여러가지 권한분기가 있을 수 있다.
함수(외부함수) 안에 다른 함수(내부함수)가 조합된 함수가 호출되었을 때 외부함수의 변수(지역변수)에 내부함수가 접근할 수 있는 함수
function outer() {
let animal = "고양이";
function inner() {
let name = "푸딩";
console.log(`안녕하세요. 저는 ${animal} ${name}입니다.`);
}
inner();
}
outer();
outer
라는 외부함수에서 animal
이라는 변수를 선언하고 inner
라는 내부함수에서 name
을 선언한 뒤 animal
, name
모두 불러오는 console.log
를 요청했다.
크롬 console 창에서 확인해보았더니 아래와 같은 결과가 나왔다.
animal
은 inner
의 밖에서 선언되었기 때문에 값을 찾을 수 없어야겠지만 이렇게 외부함수의 지역변수에 접근 가능한 것이 클로저함수이다.