스코프

1. 함수 기반 스코프 각각의 선언된 함수는 각자의 버블을 생성하지만 다른 자료 구조도 자체적인 스코프를 생성하지 않나는 것은 사실이 아니다. 함수 스코프는 모든 변수가 함수에 속하고 함수 전체(중첩 스코프 포함)에 걸쳐 사용, 재사용된다. 2. 일반 스코프에 숨기 스코프를 통해 숨는 이유는 여러가지 있지만, 소프트웨어 디자인 원칙인 '최소 권한의 원칙'*('최소 권위', '최소 노출' 으로도 불림)과 관련있다. * : 모듈 / 객체의 API와 같은 소프트웨어를 설계할 때 필요한 것만 최소한으로 남기고 나머지는 숨겨야 한다는 것 모든 변수, 함수가 글로벌 스코프에 존재하면 최소 권위에 반하는 규칙이다. const func1 = (a) => { const func2 = (a) => { return a - ..
Javascript는 컴파일러 언어이다. 컴파일러 언어의 처리 과정에서 소스코드 실행 전 3단계를 거친다. 컴파일레이션 1. 토크나이징 / 렉싱 문자열을 나누어 토큰이라는 조각으로 만드는 과정 (빈칸은 의미가 있냐 없냐에 따라 토큰으로 남을 수 있다) 2. 파싱 토큰 배열을 프로그램의 문법 구조를 반영해 중첩원소를 갖는 원소를 갖는 트리 형태로 바꾸는 과정이다. (파실 결과로 만들어지는 것이 AST 추상 구문 트리 이다) 3️⃣. 코드 생성 AST를 컴퓨터에서 실행 코드로 바꾸는 과정이다. JS엔진은 파싱과 코드 생성 과정에서 불필요한 요소를 삭제하는 과정을 거쳐 실행시성능을 최적화한다. JS엔진이 기존 컴파일러와 다른 점은 JS컴파일레이션을 미리 수행하지 않아서 최적화할 시간이 많지는 않다. 어떤 JS..
58청춘
'스코프' 태그의 글 목록 (2 Page)