IT (34) 썸네일형 리스트형 Prototype Prototype JavaScript는 Prototype 기반 객체지향 프로그래밍 언어이다. ES6에서 Class가 도입되었으나 ES6의 Class가 기존의 Prototype 기반 객체지향 모델을 대체하는 것은 아니다. 사실 Class도 Function이며 기존 Prototype 기반 패턴의 일종이다. Prototype, Class JavaScript는 Class라는 개념이 존재하지 않는다. 대신 Prototype이라는 것이 존재한다. Class라는 개념이 없으므로 상속이란 기능도 존재하지 않는다. 따라서 Prototype을 기반으로 상속을 구현하여 중복을 제거한다. 여기서도 마찬가지로 ES6부터 Class가 도입됐다고 해서 JavaScript가 Class기반으로 바뀌는 것은 아니다. // Constru.. Lexical Environment Lexical Environment Lexical Environment: 실행중인 함수나 스크립트 전체, 혹은 코드블럭은 본인만의 Lexical Environment가 있다. 환경레코드, 외부 렉시컬 환경으로 구성. 환경레코드 지역변수를 객체로 저장. function, this경우 매개변수 포함. function add(a, b) { let number = 1 return a + b + number } add() // 환경레코드 => { number: 1, a: undefined, b: undefined }외부 렉시컬 현재 렉시컬 환경보다 상위의 렉시컬 환경. Script는 최상위 렉시컬 환경. Script 내부에서 호출된 함수나 코드블럭은 외부 렉시컳 환경으로 Scirpt 렉시컬 환경 참조. 렉시컬 환.. 이전 1 2 3 4 5 다음