https://youtu.be/_DLhUBWsRtw

강의 정리

class

-template

-no data

<붕어빵 틀>

object

-instance of a class

-data in

<틀에 찍어 만든 붕어빵>

예제

class Person {
    //constructor
    constructor(name, age) {
        //fields
        this.name = name;
        this.age = age;
    }

    //methods
    speak() {
        console.log(`${this.name}: hello!`);
    }
}

//오브젝트 생성
const ellie = new Person("ellie", 20);
console.log(ellie.name);
console.log(ellie.age);
ellie.speak();

/*result
ellie
20
ellie: hello! */

getter와 setter

getter: 값을 받음. 메모리를 위해 key 앞에 _를 붙여줌

setter: 값을 받아서 설정함

class User {
    constructor(firstName, lastName, age) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.age= age;
    }

    //getter : 값을 받음
    get age() {
        //메모리를 위해 key 앞에 _를 붙여줌
        return this._age
    }
    //setter : 값을 받아서 설정함
    set age(value) {
        if(value < 0) {
            throw Error ('age can not be negative')
        }
        this._age = value;
    } 
}