본문 바로가기

Books/모던 JS Deep Dive ✔️49

[모던 JS Deep Dive] 13장 - 스코프 13.1 스코프란? - 스코프 (식별자 유효 범위, JS 엔진이 식별자 검색할 때 사용하는 규칙) - 변수 이름 충돌 방지 -> 같은 이름 변수 사용 가능 - var 스코프 vs. const, let 스코프 - 함수의 매개변수 스코프는 함수 몸체 내부로 한정 - 모든 식별자는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 스코프가 결정됨 - Lexical(Static) Scope - Lexical Environment (코드가 어디서 실행되며 주변에 어떤 코드가 있는지) - 코드의 context (문맥)은 렉시컬 환경으로 이루어짐, 이를 구현한 것이 Execution Context - 모든 코드는 실행 컨텍스트에서 평가되고 실행됨 - JS 엔진이 스코프를 통해 어떤 변수 참조할 것.. 2021. 12. 14.
[모던 JS Deep Dive] 12장 - 함수 12.1 함수란? - 함수: 일련의 과정을 문으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것 - 인수, 매개변수, 리턴값 - 함수 정의 - 함수 호출 (function call/invoke) 12.2 함수를 사용하는 이유 - 함수는 필요할 때 여러 번 호출 가능 => 실행 시점을 개발자가 결정 가능 - 코드의 재사용성 (중복 코드 제거) - 유지보수의 편의성 - 코드의 신뢰성 - 함수 네이밍 중요성; 자신의 역할 잘 설명 가능한 함수 이름 => 코드의 가독성 향상 - 코드는 단순히 동작하는 것이 목적이 아니라 개발자를 위한 문서이므로 이해 가능한 코드여야 함 - 가독성이 좋은 코드가 좋은 코드임 12.3 함수 리터럴 - JS에서 함수는 객체 타입의 값 => 함수도 함수 리터럴로 생성 가.. 2021. 12. 13.
[모던 JS Deep Dive] 11장 - 원시 값과 객체의 비교 11.0 원시 값과 객체의 비교 - 원시 값은 immutable value, 객체는 mutable value - 원시 값을 변수에 할당하면 변수(확보된 메모리 공간)에는 실제 값이 저장됨 객체를 변수에 할당하면 변수에는 참조 값이 저장됨 - 원시 값을 갖는 변수를 다른 변수에 할당 시 원본의 원시 값이 복사되어 전달됨 => 값에 의한 전달 (pass by value) 객체를 가리키는 변수를 다른 변수에 할당하면 원본의 참조 값이 복사되어 전달됨 => 참조에 의한 전달 (passs by reference) 11.1 원시 값 - 변경 불가능한 값 - immutable value - 한번 생성된 원시 값은 read only value로서 변경 불가 - 변수가 아닌 값에 대한 진술 (변수는 언제든지 값 교체 가.. 2021. 12. 10.
[모던 JS Deep Dive] 10장 - 객체 리터럴 10.1 객체란? - 원시 값을 제외한 나머지 값(함수, 배열, 정규 표현식 등)은 모두 객체임 - 원시 값은 immutable value, 객체는 mutable value - 객체는 0개 이상의 프로퍼티로 구성된 집합, 프로퍼티는 키와 값으로 구분됨 - JS에서 함수는 일급 객체이므로 값으로 취급 가능 - 프로퍼티 값이 함수인 경우 메서드라 부름 - 프로퍼티: 객체의 상태를 나타내는 값 (data) - 메서드: 프로퍼티(상태 데이터)를 참조하고 조작할 수 있는 동작 (behavior) 10.2 객체 리터럴에 의한 객체 생성 - 인스턴스 (클래스에 의해 생성되어 메모리에 저장된 실체) - JS는 프로토타입 기반 객체지향 언어 => 다양한 객체 생성 방법 지원 - 객체 리터럴 - 중괄호가 코드 블록을 의미.. 2021. 12. 10.
반응형