Javascript ES6 Classes
2023. 5. 16. 19:49ㆍJavascript
ES6 에서 나온 Class 를 이용해서 쉽게 OOP 를 구현할 수 있다.
문법은 OOP 방식을 이용하지만 내부에서는 prototype 을 사용하며 작동한다.
class Person {
constructor(name, age, job) {
this.name = name;
this.age = age;
this.job = job;
}
sayHello() {
return `안녕 나는 ${this.name}야 정말 반가워`;
}
}
const yeon = new Person("yeon", 29, "false");
console.log(yeon);
console.log(yeon.sayHello());
- constructor 는 인스턴스의 생성과 동시에 클래스 필드의 생성과 초기화를 실행, 또 constructor 는 생략가능하고 constructor() 는 new 에 의해서 자동으로 호출된다.
- this 는 클래스가 생성할 인스턴스를 가르킴
Static 사용
prototype 이 아닌 클래스 함수 자체에 메서드를 생성 가능하다. 이것이 static 메서드이다.
class Person {
constructor(name, age, job) {
this.name = name;
this.age = age;
this.job = job;
}
sayHello() {
return `안녕 나는 ${this.name}야 정말 반가워`;
}
static sumAllNumbers(min, max) {
let result = 0;
for (let i = min; i < max + 1; i++) {
result += i;
}
return result;
}
}
// const yeon = new Person("yeon", 29, "false");
// console.log(yeon);
// console.log(yeon.sayHello());
console.log(Person.sumAllNumbers(1, 10));
/* === 실행 결과 ===
55
*/
'Javascript' 카테고리의 다른 글
Javascript 클로져 ( Closure ) (0) | 2023.05.16 |
---|---|
Javascript OOP 상속 (0) | 2023.05.16 |
Javascript 프로토타입 ( prototype ) (0) | 2023.05.16 |
Javascript OOP 객체지향 특징 (0) | 2023.05.16 |
Javascript DOM (0) | 2023.05.16 |