--- id: 587d7b8b367417b2b2512b53 title: Use class Syntax to Define a Constructor Function localeTitle: Use la clase Sintaxis para definir una función constructora challengeType: 1 --- ## Description
ES6 proporciona una nueva sintaxis para ayudar a crear objetos, utilizando la clase de palabra clave. Esto debe notarse, que la sintaxis de class es solo una sintaxis, y no una implementación de paradigmas orientados a objetos basada en clases de pleno derecho, a diferencia de lenguajes como Java, Python, o Ruby, etc. En ES5, generalmente definimos una función constructora, y use la new palabra clave para crear una instancia de un objeto.
var SpaceShuttle = function(targetPlanet){
  this.targetPlanet = targetPlanet;
}
var zeus = new SpaceShuttle('Jupiter');
La sintaxis de la clase simplemente reemplaza la creación de la función de constructor:
class SpaceShuttle {
  constructor(targetPlanet){
    this.targetPlanet = targetPlanet;
  }
}
const zeus = new SpaceShuttle('Jupiter');
Tenga en cuenta que la class se añadió la palabra clave declara una nueva función, y un constructor, que se invoca cuando new se llama - para crear un nuevo objeto.
## Instructions
Use class palabra clave de class y escriba un constructor adecuado para crear la clase Vegetable . El Vegetable permite crear un objeto vegetal, con un name propiedad, que se pasará al constructor.
## Tests
```yml tests: - text: Vegetable debe ser una class con un método constructor definido. testString: 'assert(typeof Vegetable === "function" && typeof Vegetable.constructor === "function", "Vegetable should be a class with a defined constructor method.");' - text: Se usó la palabra clave de class . testString: 'getUserInput => assert(getUserInput("index").match(/class/g),"class keyword was used.");' - text: Vegetable puede ser instanciado. testString: 'assert(() => {const a = new Vegetable("apple"); return typeof a === "object";},"Vegetable can be instantiated.");' - text: carrot.name debe devolver la carrot . testString: 'assert(carrot.name=="carrot","carrot.name should return carrot.");' ```
## Challenge Seed
```js function makeClass() { "use strict"; /* Alter code below this line */ /* Alter code above this line */ return Vegetable; } const Vegetable = makeClass(); const carrot = new Vegetable('carrot'); console.log(carrot.name); // => should be 'carrot' ```
## Solution
```js // solution required ```