본문 바로가기

분류 전체보기

(96)
모던 자바스크립트 Deep Dive 25장 클래스 클래스 = 프로토타입의 문법적 설탕? 프로토타입 기반 객체지향 언어는 클래스가 필요없는 객체지향 프로그래밍 언어다. ES6에 도입된 클래스는 객체지향 프로그래밍에 익숙한 프로그래머가 더욱 빠르게 학습할 수 있도록 도입된 새로운 매커니즘이다. 클래스는 생성자 함수보다 엄격하고 생성자 함수가 제공하지 않는 기능도 제공한다. 클래스의 특징 클래스를 new 연산자없이 호출하면 에러가 난다. extends, super 키워드를 제공한다. 호이스팅이 발생하지 않는 것처럼 동작한다. 클래스 내의 코드는 암묵적으로 strict mode가 적용된다. [[Enumerable]] 프로퍼티 어트리뷰트 값이 false다. 클래스 정의 이름은 파스칼 케이스를 사용한다. 표현식을 사용해도 된다. 값처럼 사용할 수 있는 일급 객체다..
모던 자바스크립트 Deep Dive 24장 클로저 먼저 13장 스코프 참고하기. 렉시컬 스코프 함수가 "어디에 정의"되었는지에 따라 상위 스코프를 결정한다. "외부 렉시컬 환경에 대한 참조"에 저장할 참조값(상위 스코프에 대한 참조)은 함수 정의가 평가되는 시점에 함수가 정의된 환경에 의해 결정된다. 이것이 렉시컬 스코프다. 클로저와 렉시컬 환경 함수의 내부 슬롯 [[Environment]]에 자신의 상위 스코프의 참조(자신이 정의된 환경)를 저장한다. 중첩 함수는 이미 생명 주기가 종료된 외부 함수의 변수를 참조할 수 있다. 이 중첩함수를 클로저라고 한다. 자바스크립트의 모든 함수는 상위 스코프를 기억하고 있다. 그러므로 이론상 모든 함수는 클로저다. 하지만 더 까다로운 조건을 만족해야 한다. ①상위 스코프의 식별자를 참조하고, ②생명 주기가 외부함수..
모던 자바스크립트 Deep Dive 22장 this this 키워드란? this 키워드를 알아보기 앞서 객체 리터럴 방식으로 생성한 객체의 경우를 살펴봐야 한다. const circle = { radius: 5, getDiameter(){ return 2 * circle.radius; // (*) } } (*) 객체 리터럴 방식으로 생성한 객체의 경우, 메서드 내부에서 자신이 속한 객체를 가리키는 식별자를 재귀적으로 참조할 수 있다. 하지만 이런 경우는 바람직하지 않다. 인스턴스를 생성하기 전의 생성자 함수는 자신이 생성할 인스턴스를 가리키는 특수한 식별자가 필요하다. 그것이 this라는 특수한 식별자이다. this 바인딩 this 바인딩은 함수 호출 시점에 따라 결정된다. 1. 일반 함수 호출 일반함수 내부의 this는 전역 객체(window 또는 gl..
모던 자바스크립트 Deep Dive 23장 실행 컨텍스트 🔑 키워드 정리 실행 컨텍스트 : 자바스크립트의 동작 원리를 담은 핵심 개념. 소스코드를 실행하는 데 필요한 환경을 제공하고 코드의 실행 결과를 실제로 관리하는 영역이다. 달리 말하면, 식별자를 등록하고 관리하는 스코프와 코드 실행 순서를 구현한 내부 매커니즘을 말한다. 렉시컬 환경 : 식별자와 식별장에 바인딩된 값, 그리고 상위 스코프에 대한 참조를 기록하는 자료구조이다. 실행 컨텍스트를 구성하고 있다. 소스코드의 종류 : 전역 코드, 함수 코드, eval 코드, 모듈 코드 환경 레코드 : 식별자를 등록하고 식별자에 바인딩된 값을 관리하는 저장소 외부 렉시컬 환경에 대한 참조 : 상위 스코프. 해당 실행 컨텍스트를 생성한 소스코드를 포함하는 상위 코드의 렉시컬 환경 📗 내용 정리 모든 소스코드는 평가되..
[서평] 슬기로운 퀀트투자 : 스마트한 전략을 세워 투자하고 싶은 이들에게 미국 주식으로 시작하는 슬기로운 퀀트투자 주린이+코알못도 파이썬으로 쉽게 따라 하는 퀀트투자 레시피 저자 김용환, Yubin Kim 출판사 한빛미디어 출판일 2021.09.30 쪽수 416 퀀트 투자. 주식을 하는 사람들이라면 들어봤을 용어이다. 퀀트 투자란 정량적 분석을 통해 투자하는 것을 말한다. 이 책은 장기 투자보다는 단기 투자를, 국내 시장보다는 미국 시장에 투자하고 싶은 사람들에게 추천하는 책이다. 투자를 하는 이들에게 스마트한 전략을 가질 수 있도록 도와주는 책이다. 코딩을 알면 확실히 퀀트머신을 다루는 것이 쉬울 것이다. 하지만 모른다 하더라도 문제는 없다. 개발 전문 용어를 최대한 배제한 채 설명하고 있으므로 내용을 이해하고 따라가는 데 무리가 없을 것으로 예상한다. 입문이 쉬운 파이썬 ..
모던 자바스크립트 Deep Dive 21장 빌트인 객체 🔑 키워드 정리 자바스크립트 실행 환경 : 브라우저 환경이나 Node.js 환경을 말한다. 📗 내용 정리 자바스크립트 객체의 분류 표준 빌트인 객체 ECMAScript 사양에 정의된 객체. 브라우저 환경이건 Node.js 환경이건 자바스크립트 실행 환경에 관계없이 언제나 사용할 수 있다. 호스트 객체 자바스크립트 실행 환경에서 제공하는 객체. 브라우저 환경에서는 DOM, BOM, Canvas, XMLHttpRequest, fetch... 등등 클라이언트 사이드 Web API를 호스트 객체로 제공한다. Node.js 환경에서는 Node.js 고유의 API를 호스트 객체로 제공한다. 사용자 정의 객체 사용자가 직접 정의한 객체 표준 빌트인 객체 자바스크립트는 40여 개의 표준 빌트인 객체를 제공한다. Mat..

728x90