Quiz de Classes JavaScript

Para passar no quiz, você deve responder corretamente pelo menos 18 das 20 perguntas abaixo.
Qual é o propósito de uma classe em JavaScript?
Como você define uma classe em JavaScript?
Qual método é usado em uma classe para inicializar propriedades?
O que this representa dentro de um construtor de classe?
Qual das seguintes opções descreve como this se comporta em uma arrow function dentro de um método de classe?
Qual é o propósito principal da palavra-chave extends?
Qual dos seguintes é um exemplo de como criar uma classe Car que herda de uma classe Vehicle?
Qual é a saída do seguinte código?
class Animal {
  speak() {
    return "Animal speaks";
  }
}

class Dog extends Animal {
  speak() {
    return "Dog barks";
  }
}

const myDog = new Dog();
console.log(myDog.speak());
Qual é a função da palavra-chave super em uma subclasse?
Qual das seguintes opções descreve um método estático?
O que o seguinte código irá exibir?
class Calculator {
  static add(a, b) {
    return a + b;
  }
}

console.log(Calculator.add(3, 4));
Como você acessaria uma propriedade estática em uma classe JavaScript?
Em qual cenário você usaria um método estático em vez de um método de instância?
O que o seguinte código irá exibir?
class MyClass {
  sayHello() {
    return "Hello!";
  }
}

console.log(MyClass.sayHello());
Qual palavra-chave é usada para herdar propriedades e métodos de outra classe?
O que é impresso pelo seguinte código?
class Person {
  static species = "Human";
}

console.log(Person.species);
Qual das seguintes opções melhor descreve herança?
O que acontece se um construtor não for definido em uma subclasse?
O que this representa no código a seguir?
class Animal {
  constructor(name) {
    this.name = name;
  }
}
Qual é o uso principal das propriedades estáticas?