ChromeFirefox시작: 변수 스코프의 시작종료: 변수 선언함수의 매개변수 처리는 좌 -> 우 순서이므로 foo=bar 먼저 처리되므로bar = 'bar'에 의해 호이스팅이 발생하여 bar의 선언이 스코프의 최상단에서 일어난다. 하지만 bar의 초기화는 되지 않아
var, let, const 변수 키워드 모두 선언되면 변수 선언은 호이스팅 된다.호이스팅 된다라는 의미는 변수가 선언된 스코프의 최상단으로 올라간다는 의미다.var의 경우에는 선언, 초기화 둘다 호이스팅된다.x를 출력해보면 자바스크립트 인터프리터가 x의 존재를 인지했
.js 파일 확장자에 ES 모듈 문법이 작성되어있으면 ES module..mjs로 파일 확장자를 설정하여 ES module 문법이 아니면 ES Lint가 경고를 한다.Node.js 는 자바스크립트 파일들을 default로 CommonJS 모듈로 인식하므로 프로젝트 디렉
위 코드에서
1부에서 이야기한 렉시컬 환경에 대해 오늘 공부한 내용을 공유하는 차원에서 이 글을 쓴다..프로그래밍 언어에서 스코프를 결정하는 방식은 2가지다.동적 스코프: 함수가 호출된 환경에 따라 상위 스코프 결정정적 스코프 (렉시컬 스코프): 함수가 선언된 환경에 따라 상위 스
Duck Typing대상이 무엇이든 오리처럼 행동하면 오리라고 부르겠다.객체의 종류가 서로 다르더라도 같은 프로퍼티를 갖고 있다면 같은 타입으로 구별하겠다.makeDucksQuack 함수의 인자인 possibleDucksImposter에 타입을 지정하여 인자로 들어오는