공삼
article thumbnail
클로저 (Closure), 렉시컬환경
Front-End/JavaScript 2023. 8. 27. 23:43

클로저 함수와 그 외부를 둘러싸고 있는 렉시컬환경의 조합으로, 클로저가 자신의 렉시컬환경 외부에서 선언된 변수에, 접근할 수 있는 메커니즘을 제공한다. 클로저 사용하는 이유 클로저는 내부 정보를 은닉하고, 공개 함수(public, 외부)를 통한 데이터 조작을 위해 쓰인다. 캡슐화와 정보은닉을 위해 쓰인다. 클래스 private 필드 또는 메소드를 사용하는 효과와 동일하다. 클로저 예제 function outer() { const outerVar = "I'm from outer"; function inner() { console.log(outerVar); // 내부 함수에서 외부 함수의 변수에 접근 } return inner; } const closureFunc = outer(); // outer 함수 실..

article thumbnail
[JS기본] 인터프리터, 호이스팅, 스코프, 렉시컬 환경, 엄격모드, 가비지 컬렉터 등
Front-End/JavaScript 2023. 8. 22. 13:08

📍자바스크립트 엔진 자바스크립트가 동작하려면 JS엔진이 필요한대, 브라우저 내에 내장되어 있고 node.js를 설치해서 로컬 컴퓨터에서 실행할 수 있다. 이때! 동작하는 시간을 런타임이라고 하며, 이 런타임 과정에서 코드를 한줄한줄 읽고 번역해 실행해주는 것을 인터프리터 라고 한다. 인터프리터란? - 프로그래밍 언어로 작성된 소스코드를 읽어 한줄씩 해석하고 실행하는 프로그램 또는 환경을 말한다. - 소스코드를 기계어로 컴파일 하지않고도 바로 실행할 수 있게 해주는 방식으로 동작한다. 사용언어 : Python, Ruby, JavaScript .. cf ) 컴파일러 - 소스코드를 한번에 컴파일하여 중간언어 또는 기계어로 변환후 실행하는 방식을 사용함 사용언어 : C, C++, JAVA ... 📍자바스크립트란..