I have a animal class and interface,

```
interface IAnimal {
    name: string;
}

class Animal {

    // Fields
    _data: IAnimal;

    // Constructor
    constructor(
        data: IAnimal
    ) {
        console.log('name: ' + data.name);
    }

    // Propperties
    get name() {
        return this._data.name
    }

    set name(value: string) {
        if (value.length < 1) {
            alert("No name");
        } else {
            this._data.name = value
        }
    }

}

let lionJon = new Animal({name: ''});

```

As you can see I'm creating a new object but with an empty name string. I would expect the `set name` to throw an alert since the value of name is less then 1 character long.

Instead it skips the whole get and set and goes straight to the contructor, bypassing the check.