본문 바로가기

JavaScript/javascript 기초 공부하기

javascript 객체지향을 위한 class 생성하기

javascript는 함수형프로그래밍, 객체지향형 프로그래밍 두가지 모두 가능한 멀티 패러다임 언어이다.

 

javascript에서도 java와 같이 class를 생성하여 생성자 생성및 그 안에 함수들을 선언하는것이 가능하다

 

또한 extends를 통해 확장해나갈수 있다.

 

 

'use strict';

// 캐시를 관리하기위해
//캐시매니저 혹은 db매니저를 관리하기위해 주로 class를 사용한다.
class cacheManager {
    //생성자
    //비동기 문법을 사용할 수 없다
    constructor() {
        this.config = [];
    }

    addConfig(obj = {}) {
        this.config.push(obj);
    }

    getConfig() {
        return this.config;
    }
}

module.exports = cacheManager;
'use strict';

const cacheManager = require('./cache');

class sessionManager extends cacheManager {}

const SessionManager = new sessionManager();
SessionManager.addConfig({
    token: 'ran',
});
const config = SessionManager.getConfig();

console.log(config);

 

class Robot {
    constructor(name) {
        this.name = name;
    }

    speack() {
        console.log(`${this.name}`);
    }
}

class Ai extends Robot {
    constructor(name) {
        super(name);
    }
    walk() {
        console.log(`walk: ${this.name}`);
    }
}

const r = new Robot('hello');
r.speack();

const a = new Ai('hi');
a.speack();
a.walk();