반응형

prototype 2

[JavaScript] Class(클래스), private(접근제어)

Class (클래스) 개념 ES5에서는 클래스가 없으며 객체형, 클로저, 생성자, 프로토타입 등을 이용해 클래스와 유사한 구조를 만들어 사용한다. ES5와 다르게 ES6에서는 클래스 문법을 직접적으로 지원함. 내부적으로 Class는 격국 object형과 같다. 형식 선언과 인스턴스 생성 클래스의 생성자 constructor로 생성자를 호출한다. ES6때 출현. class cs { constructor(){} } this를 통해 object에 변수를 등록한다. (object와 유사함.) * 생성자에 객체를 추가할 시 Shallow Copy(얕은 복사)에 주의한다. * Shallow copy(얕은 복사) 해결. (private 하단 참조) Method 추가 class의 method로 추가 readabilit..

JavaScript 2022.04.20

[JavaScript] Prototype

Prototype 개념 prototype의 사전적 의미는 “원형"이다. 즉 “원래의 모양”을 뜻한다. 자바스크립트에서 사용하는 거의 모든 데이터는 기본적으로 “객체“(Object type)이다. 객체는 객체마다 기본적으로 가져야 할 기능 및 데이터가 필요하다. 이러한 기능과 데이터를 가진 객체를 prototype이라 하며 자바스크립트에서 특별하게 관리된다. * prototype는 DNA다. 특징 동일한 객체는 동일한 Prototype을 가진다. 즉 아래 a, b는 모두 같은 prototype에서 파생된다. Prototype 또한 객체이기 때문에 추가, 변경될 수 있다. 따라서 특정한 객체 타입의 prototype을 변경하면 그 객체 타입 전체가 영향을 받는다. prototype은 호출시 생략할 수 있다...

JavaScript 2022.04.19
반응형