반응형
반응형
클로저란? MDN 에서의 클로저의 정의는 함수와 그 함수가 선언된 렉시컬 환경과의 조합이라고 나와있다 이게 도대체 무슨말인가?? 이를 이해하기위해서는 함수가 선언된 렉시컬 환경 을 이해해야할것이다. 자바스크립트는 렉시컬 스코프를 따르는 프로그래밍 언어인데 함수를 어디서 호출했느냐 가 중요한게 아니라 함수를 어디에 정의했는지에 따라 상위 스코프를 결정하는것이다. const x = 1 ; function foo () { const x = 10 ; bar (); } function bar () { console.log(x); } foo(); // 1 bar(); // 1 결국 상위 스코프는 렉시컬환경에서 자신의 외부 렉시컬 환경 정보를 저장하는 outer lexical Environment Reference ..
리액트 에서는 불변 방식으로 배열작업에 의존하기에 그에 필요한 자료들과 학습을 진행해봤다. map() => https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map find() => https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find findIndex() => https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex filter() => https://developer.moz..
this ? this 는 호출할때 어떤객체를 바라보는지 결정이된다. 전역공간에서 this 호출 - 전역객체를 가르킴 함수에서 호출 - 전역객체를 가르킴 : 실행컨텍스트가 활성화 할 당시 this 가 지정되지않을경우 this 는 전역객체를 바라보게됨 메서드에서 호출 - 호출의 주체를 가르키게됨 메서드의 내부함수에서 호출 - 호출주체에 따라 다르게되는데 함수로써 호출된다면 전역객체를 바라보게됨, 아니라면 호출주체를 바라보게됨 화살표 함수 - 실생컨텍스트에 생성할때 this바인딩 과정 자체가 없어서 값이 유지됨
실행컨텍스트 ? 실행할 코드에 제공할 환경정보를 모아놓은 객체 이다. 자바스크립트에서는 실행 컨텍스트가 활성화되는 시점에 호이스팅, 외부환경정보를 구성, this값을 설정 하게되는 특징이있어 다른언어와 차이를보인다. 함수가 실행됬을때 call stack 에 실행 컨텍스트 객체들이 순차적으로쌓이게됨. 참고자료 * https://charming-kyu.tistory.com/19 실행컨텍스트 객체 ? 해당 컨텍스트 관련된 코드를 실행하는데 필요한 환경정보를 가지고있다. variableEnvironment 현재 컨텍스트 내의 식별자 정보 외부 환경 정보 선언 시점 lexicalEnvironment 의 snapshot 찍고 유지함 lexicalEnvironment variableEnvironment 동일하나 변경..
현재프로젝트를 진행하는중인데, 전체적으로 페이지가 완료되서 팀원들 페이지 모아서 SPA 를 구현하려고 전체적으로 내용을 살펴봤다 현재까지는 팀원분들 과 조율해서 제공받은 스니펫으로 하는데 시간이 남는다면 마지막으로 html 파일로 route를 구성하지않고 js로 구성하도록 리팩토링해야겠다. https://velog.io/@tlatjdgh3778/Vanilla-JavaScript%EB%A1%9C-SPA%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0 Vanilla JavaScript로 SPA구현하기 Vanilla JavaScript로 SPA구현하기 > 본 포스트는 [ dcode - YOUTUBE](https://www.youtube.com/watch?v=6BozpmSjk-Y&t=1009s)..
📍 22장 this this란? 메서드를 정의하는 시점 이 객체를 생성하는 시점보다 먼저오게되 자신을 호출할 객체의 값을 this 로 표현한다. 즉, 자신이 속한 객체 / 자신이 생설할 인스턴스를 가르키는 참조변수 이다. this 바인딩 this바인딩은 함수가 호출되는 방식에따라 동적으로 결정된다. 일반함수 호출 → 전역객체 전역 호출 → 전역객체 메서드내부 호출→ this를 호출한 객체 생성자 함수 호출→ 생성자함수가 생성할 인스턴스 Function.prototype.apply/call/bind 메서드에 의한 간접 호출 this 명시적 변경 Function.prototype.apply(thisArg[, argsArray])thisArg로 변경, 호출할 함수에 전달할 인수를 두 번째 매개변수에 배열로 만..