본문 바로가기

JS127

[ 자바스크립트(JavaScript) ] 스코프 체인(Scope chain)에 대해서 알아보자 📍 스코프 체인(scope chain)에 대해서 알아보자. scope는 식별자에 대한 유효 범위를 나타낸다. 어떤 경계 A의 외부에서 선언한 변수는 A의 외부뿐 아니라 A의 내부에서도 접근이 가능하지만, A의 내부에서 선언한 변수는 오직 A의 내부에서만 접근할 수 있다. 이러한 식별자의 유효범의를 안에서부터 바깥으로 차례로 검색해나가는 것을 스코프 체인이라고 부른다. 이때 outerEnvironmentReference는 현재 호출된 함수가 선언될 당시의 L.E를 참조하게되는데, 중요한 점은 과거 당시 선언된 시점이다. 다음 코드의 foo()와 bar()의 출력값은 1로 동일한데, 그 이유는 function bar가 선언된 시점의 x는 전역 변수인 x를 바라보게 된다. 즉, this처럼 함수를 어디서 호출.. 2021. 11. 15.
[ 엘리스 SW 엔지니어 트랙 ] 15일차 📍 15일 차 11.13. 토.(온라인 강의) 오늘은 JS엔진, JS 코드 실행, 렉시컬 환경, Hoisting, globalThis 등에 대해서 배웠다. 실행 컨텍스트, 렉시컬 파트는 확실하게 배워놔야 나중에 까먹지 않을 것이다. ❏ JS 엔진 JS 엔진은 JS 코드를 읽어 실행하는 프로그램이다. JS 코드는 JS 엔진을 통해 파싱되고 실행된다. Chrome 브라우저의 경우 V8 엔진을 사용한다. node.js 는 브라우저 외의 환경에서 JS 코드를 실행하도록 하는 프로그램이다. node.js 는 여러 프로그램으로 구성되며, JS 코드를 읽는 프로그램으로 V8을 사용한다. 브라우저 환경과 node.js 환경은 같은 JS 코드를 작성해도 다르게 동작할 수 있다. ❏ JS 코드 실행 JS 엔진은 코드 실행.. 2021. 11. 15.
[ 엘리스 SW 엔지니어 트랙 ] 13일차 📍 13일 차 11.11. 목.(실시간 강의) 오늘은 JS에서 어려운 문법인 scope, this, 실행 컨텍스트, 함수, restParameter에 대해서 배웠다. 이 내용들은 저번에 읽었던 코어 자바스크립트에 나왔던 내용이다. 책을 읽은 지 약 2개월 정도밖에 안됐는데 부분 부분 까먹은 내용들이 있었다. 까먹지 않게 틈틈이 읽어야겠다. ❏ 스코프 변수가 작동하는 유효범위 변수에 접근할 수 있는 범위 Global: 어느 곳에서든지 해당 변수에 접근할 수 있다. Local: 해당 지역에서만 접근할 수 있다. ❏ 실행 컨텍스트 실행 컨텍스트를 바르게 이해하면 스코프를 기반으로 식별자와 식별자에 바인딩된 값(식별자 바인딩)을 관리하는 방식과 호이 스팅이 발생하는 이유, 클로저의 동작 방식, 그리고 태스크 큐.. 2021. 11. 11.
[ 엘리스 SW 엔지니어 트랙 ] 12일차 📍 12일 차 11.10. 수.(온라인 강의) 오늘은 DOM과 event를 온라인강의로 배우는 날이다. 이전 챕터와는 다르게 DOM은 자주 다뤄보지 않은 개념 이어어서 관련 문제를 푸는데 오래 걸렸다. 익숙해질 때까지 반복해야겠다. DOM에 관한 기본적인 개념은 어제 다뤘기 때문에 오늘은 event를 집중적으로 다뤄볼까 한다. ❏ DOM과 이벤트 소개 DOM(Document Object Model): 문서 객체모델, 객체 지향 모델로써 구조화된 문서를 표현하는 방식(문자열로 된 코드를 트리구조 형태로 바꿔주는 것) DOM 은 XML 이나 HTML 문서의 구조화된 표현을 제공하여 프로그래밍 언어가 문서 구조, 스타일, 내용 등을 변경할 수 있도록 한다. DOM 의 종류: Core DOM(모든 문서 타입을 .. 2021. 11. 10.
[ 엘리스 SW 엔지니어 트랙 ] 11일차(3주차: 자바스크립트 II - DOM, event, this, closure) 📍 11일 차 11.9. 화. (실시간 강의) 오늘은 오랜만에 비가 내려서 새벽 러닝을 하지 못했고 날씨도 급격하게 추워졌다. 벌써 11월이라니.. 2021년 올해도 벌써 1달 조금 넘게밖에 남지 않았다. 내년 2월까지 최선을 다하자..! 저번 시간에 JS I을 통해 자기소개 홈페이지를 만들었고, 이번주는 진도를 더 나가서 JS II를 배우게된다. DOM, Event, this, closure 등에 대해서 배우는데 이번 주차는 어려운 파트기 때문에 복습을 더 열심히 해야겠다는 생각을 했다. ❏ 저번주 복습 indexOf(target): target이 index 몇 번째에 위치해있는지 반환하는 메서드(없으면 -1 반환) 함수에 return 값이 없으면 js엔진이 undefined를 리턴한다. (여담으로 J.. 2021. 11. 9.