본문 바로가기
프로그래밍 언어/Javascript

Class and Instance

by whale in milktea 2023. 1. 16.

Class와 Instnace를 사용하는 이유?"

1. Class는 Instance를 생산하는 일종의 공장이자, Instance에 따라 일정한 형태를 리턴하는 청사진!
2. 구현된 기능을 파악하고 이를 재사용하기 용이하며, 향후 유지보수 및 기능을 추가할 때 생산성이 높다.
// Class 기본구문 === MDN 참조 === ES6 최신구문 기준
const NewClass = class { // 클래스 선언 ===> 파스칼케이스 사용 (js의 카멜케이스x)
  constructor() { // 생성자
    this.prop = "value" // 생성자에서 만들어내는 속성과 값
  }
  newMenthod() {
    console.log(this.prop) // "value"
  }
};

let newInstance = new NewClass();
instance.newMethod(); // "value"

다만, ES7에서 클래스를 생성할 때 상당히 변화된 점들이 있다.

생성자 함수 constructor가 사라지고 직접 속성을 정의할 수 있음
생성자에서 this 키워드가 사라진 대신, 메서드에서 화살표함수에서 this. 메서드를 사용하여 실행한다.
상속관계를 만들기 위한 super() 키워드가 사라졌다.
// Class ES7 리팩토링 구문
const NewClass2 = class {
  prop = "value"
  newMethod() {
    console.log(this.prop) // "value"
  }
};

let instance = new NewClass2();
instance.newMethod(); // "value"

 

Github Link : https://github.com/Whaleinmilktea/Haseong-Study-Platform/tree/main/javascript/Class-and-Instance

'프로그래밍 언어 > Javascript' 카테고리의 다른 글

Arrow Function  (0) 2023.01.19
__proto__ : 프로토타입  (0) 2023.01.16
객체란?  (0) 2023.01.16
(for문) n = n+i를 n === n+1처럼 착각하지 말자  (0) 2022.12.19
자바스크립트의 타입과 변수  (2) 2022.12.16