//호이스팅
// 선언 전에 미리 할당하는것
// var, 함수 선언문
// let,const, 함수 표현식 -> 호이스팅이 일어나지 않음
//"strict mode"
// 함수 선언식, 함수 표현식, 화살표 함수
선언이 되기 전에 호출되는 것을 막아야함
스코프: 변수가 영향을 줄 수 있는 범위
전역 스코프, 함수 스코프, 블록 스코프
하위 스코프에서는 상위 스코프 참조 가능
함수 선언식 : 호이스팅(Y), 초기값(실제함수), 스코프(블록)
var 변수 : 호이스팅(Y), 초기값(undefined), 스코프(함수)
let,const 변수 : 호이스팅(N), 초기값(uninitialized), 스코프(블록)
함수 표현식, 화살표 함수 : var를 쓰는지, let,const를 쓰는지에 따라 다르다.
console.log(this)
const calcAge=function(birthYear){
console.log(this)
}
const calcAgeArrow=(birthYear)=>{
} console.log(this)
calcAgeArrow(1992)