ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [WEB 개발] 001_1 javascript 에서 class 사용하기
    Program development/web 2021. 6. 4. 02:23

    "001 라즈베리 파이와 nodejs로 만드는 timer" 에서 사용한 javascript class 에 대해 알아보고자 합니다. 

    목표 : javascript 에서 class 사용하기

     

    이 페이지를 통해 아래 정보를 확인하실 수 있습니다. 

    • 기본문법
    • 접근자 프로퍼티 getter setter

    기본문법

    기본 문법은 아래와 같습니다. 

    class MyClass{
        constructor() {}
        method1() {}
        method2() {}
    }
    

    기본문법에서 보이는 것과 같이 자바스크립트는 생성자만 존재하며 소멸자는 존재하지 않습니다. 

    상세한 내용은 아래 페이지를 접근하시면 더 많은 정보를 얻으실 수 있습니다. 

    https://ko.javascript.info/class

     

    클래스와 기본 문법

     

    ko.javascript.info


    접근자 프로퍼티 getter setter

    예제를 보여드리겠습니다. 

    class MyClass{
        constructor(value) {
            this.value1 = value;
        }
        method1() {}
        method2() {}
        
        get value(){
            return this._value;
        }
        set value(data){
            this._value = data;
        }
    }
    
    var mc = new MyClass(123);
    mc.value=5674;
    console.log(mc.value);

    외부에서 내부 데이터[_value]를 접근하기 위해 get, set value이라는 접근자 프로퍼티 getter와 setter를 선언하여 접근하도록 합니다. 

    외부에서 실행할때 get 의 경우 mc.value로 실행하며 set의 경우 mc.value = 5674;로 실행할 수 있습니다.

     

    만약 아래와 같은 에러메시지가 출력된다면 get, set 이 함께 존재하는 것이 아닌 하나만 존재해서 생기는 문제라고 보시면 됩니다. 따라서 내가 생성한 접근자 프로퍼티가 짝이 이루어지는지 확인 후 수정하시면 됩니다. 

     

    Uncaught TypeError: Cannot set property value of #<MyClass> which has only a getter

     

    상세한 프로퍼티 getter와 setter에 대한 정보는 아래 url을 참조하시면 더 많은 정보를 얻을 수 있을 것입니다. 

    https://ko.javascript.info/property-accessors

     

    프로퍼티 getter와 setter

     

    ko.javascript.info

    댓글

Designed by Tistory.