-
<TIL> 211212 프로토타입클래스/└ TIL 2021. 12. 12. 22:25728x90
🐣
{ CS개론 }
전자 회로의 조합 논리
트랜지스터(transistor) = 전송 저항(transfer + resistor)
메모리와 디스크의 핵심: 순차 논리
조합 논리는 입력의 현재 상태만을 다루지만, 순차 논리는 입력의 현재 상태과 과거 상태를 함께 고려합니다.
컴퓨터 내부 구조
즉시 주소 지정 모드: 명령어에 들어가 있는 값 => 비트
직접 주소 지정: 명령어에 들어가 있는 값 => 피연산자 주소
간접 주소 지정: 명령어에 들어가 있는 값 => 피연산자 주소를 얻을 수 있는 메모리 위치를 가리키는 주소
RISC: 복잡한 명령어를 단순한 명령어를 조합해 처리
CISC: 복잡한 명령어들을 가지고 있음
{ JavaScript }
프로토타입 상속
객체에서 프로퍼티를 읽으려고 하는데 해당 프로퍼티가 없으면 자동으로 프로토타입에서 프로퍼티를 찾습니다.
프로토타입에서 상속받은 프로퍼티를 '상속 프로퍼티'라고 합니다.
객체는 하나의 프로토타입만 가질 수 있습니다(두 개의 객체를 상속받을 수 없음).
__proto__의 값은 객체나 null만 가능합니다.
__proto__는 브라우저 대상 개발시 구세대 방식이라고 합니다(아래의 프로토타입 메서드 사용 추천).
__proto__는 객체의 프로퍼티가 아니라 Object.prototype의 접근자 프로퍼티입니다.
__proto__는 [[Prototype]]에 접근하기 위한 방법이지 [[Prototype]] 그 자체가 아닌 것입니다.
*Proto-: 라틴어 최초의/원래의 파생어
프로토타입 메서드와 __proto__가 없는 객체
Object.create(proto, [descriptors]): [[Prototype]]이 proto인 객체를 만듭니다. 참조 값은 null일 수 있고 프로퍼티 설명자(descriptors)를 넘기는 것도 가능합니다.
Object.getPrototypeOf(obj): obj의 [[Prototype]]을 반환합니다(__proto__ getter와 같음).
Object.setPrototypeOf(obj, proto): obj의 [[Prototype]]을 proto로 설정합니다(__proto__ setter와 같음).
Object.create(null)을 사용하면 프로토타입이 없는 객체를 만들 수 있습니다. 이런 객체는 '순수 사전'처럼 사용됩니다. "__proto__"를 키로 사용해도 문제를 일으키지 않습니다.
📌
한권으로 읽는 컴퓨터 구조와 프로그래밍 / 조너선 스타인하트 지음 / 오현석 옮김 / 책만
728x90'클래스 > └ TIL' 카테고리의 다른 글
<TIL> 211214 마크업, 프라미스, QA (0) 2021.12.14 <TIL> 211213 CS개론, JS 클래스, CSS 애니메이션 (0) 2021.12.13 <TIL> 211211 CS개론, CSS-transition (0) 2021.12.11 <TIL> 211210 HTTP, JavaScript (0) 2021.12.10 <TIL> 211209 HTTP, JavaScript 객체, CSS (0) 2021.12.09