본문 바로가기

자바스크립트70

[JS 스터디 1기] - 다섯 번째 미팅 2022.01.08.토 JS 스터디 1기 다섯 번째 미팅을 가졌습니다. 오늘 자바스크립트에서 아주 중요한 개념을 공유했습니다. 첫 번째로 함수 호출 방식에 따라 동적으로 달라지는 this 바인딩에 대한 내용을 진행했습니다. this 바인딩은 this 라는 키워드가 마치 식별자처럼 사용되서 this가 가리키는 값을 의미하는데, Java나 다른 프로그래밍 언어와는 다르게 자바스크립트에서는 다양한 방식이 있습니다. 우선 간단히 말씀드리면, 일반 함수로서 호출되면 일반 함수 내에서의 this는 전역 객체를 가리키게 되고, new 연산자를 붙여서 생성자 함수로 호출하면 생성자 함수 내부의 this는 생성자 함수가 미래에 생성할 인스턴스를 가리키게 됩니다. 메서드는 당연히 메서드를 호출한 객체를 가리키게 됩니다. .. 2022. 1. 8.
[모던 JS Deep Dive] 24장 - 클로저 24.0 클로저 - 클로저는 함수를 일급 객체로 사용하는 함수형 언어에서 사용되는 중요한 특성 - MDN => 클로저는 함수와 그 함수가 선언된 렉시컬 환경과의 조합 - JS는 렉시컬 스코프를 따르는 프로그래밍 언어 24.1 렉시컬 스코프 - JS 엔진은 함수를 어디서 호출했는지가 아니라 함수를 어디서 정의했는지에 따라 상위 스코프 결정 => 렉시컬 스코프 (정적 스코프) - 함수를 어디서 호출하는지는 함수의 상위 스코프 결정에 영향 주지 않음 - 함수의 상위 스코프는 함수를 정의한 위치에 의해 정적으로 결정되고 변하지 않음 - 실행 컨텍스트의 렉시컬 환경에서 OuterLexicalEnvironmentReference를 통해 상위 렉시컬 환경과 연결됨 - 스코프 체인 24.2 함수 객체의 내부 슬롯 [[.. 2022. 1. 6.
[모던 JS Deep Dive] 23장 - 실행 컨텍스트 23.1 소스코드의 타입 - 전역 코드 - 전역에 존재하는 소스코드, 전역에 정의된 함수, 클래스 등 내부 코드는 포함 X - 소스코드; 실행 가능한 코드, 소스코드 타입에 따라 실행 컨텍스트 생성 과정과 관리 내용 다름 - 전역 변수 관리 위한 최상위 스코프인 전역 스코프 생성 - 전역 코드 평가 시 전역 실행 컨텍스트 생성됨 - 함수 코드 - 함수 내부에 존재하는 소스코드, 함수 내부에 중첩된 함수, 클래스 등 내부 코드는 포함 X - 지역 스코프를 생성하고 지역 변수, 매개변수, arguments 객체 관리 - 함수 코드 평가 시 함수 실행 컨텍스트 생성됨 - eval 코드 - 빌트인 전역 함수인 eval 함수에 인수로 전달되어 실행되는 소스코드 - strict mode에서 자신만의 독자적인 스코프.. 2022. 1. 4.
[모던 JS Deep Dive] 22장 - this 22.1 this 키워드 - 객체 - 프로퍼티; 객체 고유의 상태 데이터 - 메서드; 상태 데이터를 참조하고 조작(변경)하는 동작 - 메서드가 자신이 속한 객체의 프로퍼티를 참조하려면 먼저 자신이 속한 객체를 가리키는 식별자를 참조할 수 있어야 함 - this는 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 self-referencing variable임, this를 통해 자신이 속한 객체 또는 자신이 생성할 인스턴스의 프로퍼티나 메서드 참조 가능 - this는 JS 엔진에 의해 암묵적으로 생성됨, 코드 어디서든 참조 가능 (전역, 함수 내부 모두 참조 가능) - 함수 호출 시 arguments 객체와 this가 암묵적으로 함수 내부로 전달됨 - this 바인딩 (this가 가리키는 객체/값).. 2022. 1. 3.
반응형