title: Infinite loop with getters and setters in class
body: <pre><code>alert("Hello")
  
  class Dog {
  
    constructor(name, weight)
    {
      this.name = name;
      this.weight = weight;
    }
  
    /*
    get name(){
      return this.name;
    }
  
    set name(value){
      this.name = value;
    }
    */
  }
  
  alert("Hello1");
  
  let pies = new Dog("Reksio", 999);
  
  alert("Hello2");
  alert(pies.name);
  </code></pre>
  
  <p>This code works perfect without getter and setter. However, after uncommenting sections with them, it crashes oddly:</p>
  
  <pre><code>Uncaught RangeError: Maximum call stack size exceeded
      at Dog.set name [as name] ((index):44)
      at Dog.set name [as name] ((index):45)
      at Dog.set name [as name] ((index):45)
      at Dog.set name [as name] ((index):45)
      at Dog.set name [as name] ((index):45)
      at Dog.set name [as name] ((index):45)
      at Dog.set name [as name] ((index):45)
      at Dog.set name [as name] ((index):45)
      at Dog.set name [as name] ((index):45)
      at Dog.set name [as name] ((index):45)
  </code></pre>
  
  <ol>
  <li>Why can't I use getter alone?</li>
  <li>Why does it crash as if there was an infinite recursion after adding simple getter and setter?</li>
  <li>How to fix getter and setter?</li>
  </ol>