모던딥다이브 4

[모딥다] JS (12) - this

1. this 키워드: this 란 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수다. : this를 통해 자신이 속한 객체 또는 자신이 생성할 인스턴스의 프로퍼티나 메서드를 참조할 수 있다. : this가 가리키는 값, 즉 this 바인딩은 함수 호출 방식에 의해 동적으로 결정됨.* this 바인딩 : 바인딩이란 식별자와 값을 연결하는 과정을 의미, 예를 들어 변수 선언은 변수 이름(식별자)과 확보된 메모리 공간의 주소를 바인딩 하는 것. 2. this 예시 // 생성자 함수function Circle(radius) { // this 는 생성자 함수가 생성할 인스턴스를 가리킴 this.radius = radius; } Circle.prototype.getDiamet..

[모딥다] JS (11) - 빌트인 객체

1. 자바스크립트 객체의 분류 1) 표준 빌트인 객체   - ECMAScript 사양에 정의된 객체를 말함. 애플리케이션 전역의 공통 기능을 제공함  - ECMAScript 사양에 정의된 객체이므로 자바스크립트 실행 환경과 관계 없이 언제나 사용 할 수 있음.  - 전역 객체의 프로퍼티로서 제공되며 따라서 별도의 선언 없이 전역 변수처럼 언제나 참조할 수 있다. 2) 호스트 객체  - ECMAScript에 정의 되어 있진 않지만 자바스크립트 실행 환경에서 추가로 제공되는 객체를 말함  - 브라우저 환경에서는 DOM , BOM , Canvas , XMLHttpRequest, fetch , SVG , WebStorage , Web Component , Web Worker와 같은 클라이언트 사이드 Web AP..

[모딥다] JS (6) - 프로퍼티 어트리뷰트

1. 내부 슬롯과 내부 메서드1) 내부 슬롯 : 자바스크립트 엔진의 구현 알고리즘을 설명하기 위해 ECMAScript 사양에서 사용하는 의사 프로퍼티(Psuedo Property) 2) 내부 메서드 : 의사 메서드 ex) ([[...]]) 2. 프로퍼티 어트리뷰트와 프로퍼티 디스크립터 객체: 자바스크립트 엔진은 프로퍼티를 생성할 때 프로퍼티의 상태를 나타내는 프로퍼티 어트리뷰트를 기본값으로 자동 정의함: 프로퍼티 상태란 프로퍼티의 값, 값의 갱신 가능 여부 , 열거 가능 여부, 정의 가능 여부를 말한다.: 프로퍼티 어트리뷰트는 자바스크립트 엔진이 관리하는 내부 상태 값인 내부 슬롯이다.ex) [ [ Value ] ] , [ [ Enumerable ] ] , [ [Configurable ] ]= 프로퍼티 ..

[모딥다] JS (5) - var , let ,const 키워드와 블록 레벨 스코프

1. var 변수 문제점1) 변수 중복 선언 허용2) 함수 레벨 스코프 : var 키워드로 선언한 변수는 오로지 함수의 코드 블록만을 지역 스코프로 인정함.: 따라서 함수 외부에서 var로 선언한 변수는 코드 블록 내 선언해도 모두 전역 변수가 됨.3) 변수 호이스팅: 변수 선언문이 스코프의 선두로 끌어 올려진 것처럼 동작함 2. let 키워드: 변수 중복 선언 금지: 블록 레벨 스코프 - 모든 코드 블록을 지역 스코프로 인정하는 블록 레벨 스코프를 따름: 변수 호이스팅 발생 X: var 키워드와 달리  "선언 단계" 와 "초기화 단계"가 분리되어 진행 된다.: 따라서 초기화 단계 실행되기 이전에 변수에 접근하려고 하면 참조 에러가 발생함: 스코프의 시작 지점부터 초기화 시작 지점까지 변수를 참조할 수 ..