[Javascript - ES6] SCOPE
전역변수
이벤트 델리게이션? 버블링? immutable array?
나중에 또 찾아보자.
인프런 들으면서 정리 및 추가 서칭한 내용. (들은 강의 - https://www.inflearn.com/course/es6-%EA%B0%95%EC%A2%8C-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8#)
- 가장 상위에 있는 변수. 즉, 가장 밖에 있는 변수.
지역변수
- var를 사용한 함수단위의 스코프.
- 전역변수보다 우선.
- 렉시컬 스코프(lexical scope)에서는 소스코드가 작성된 그 문맥에서 결정. 호출 스택과 관계없이 각각의 (this를 제외한)대응표를 소스코드 기준으로 정의하고, 런타임에 그 대응표를 변경시키지 않는다. (사실 런타임에 렉시컬 스코프를 수정할 수 있는 방법들(eval, with)이 있지만, 권장하지 않는다.)
- 클로저(closure)는 독립적인 (자유) 변수를 가리키는 함수이다. 또는, 클로저 안에 정의된 함수는 만들어진 환경을 ‘기억한다’. (https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Closures)
+ ES6
- 블럭단위의 스코프 가능. let, const를 사용.
- const는 constant의 약자로 변수값을 재할당 할 수 없다. 배열이나 오브젝트를 수정하는 것은 가능하다.
- 요즈음 ES6 작업 시 const를 기본으로 사용하고. 변경이 될 수 있는 변수는 let을 사용. var는 사용하지 않는 것이 좋다.
이벤트 델리게이션? 버블링? immutable array?
나중에 또 찾아보자.
인프런 들으면서 정리 및 추가 서칭한 내용. (들은 강의 - https://www.inflearn.com/course/es6-%EA%B0%95%EC%A2%8C-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8#)
댓글
댓글 쓰기