--- id: 587d7b8b367417b2b2512b53 title: Use class Syntax to Define a Constructor Function challengeType: 1 videoUrl: '' localeTitle: Use la clase Sintaxis para definir una función constructora --- ## Description
ES6 proporciona una nueva sintaxis para ayudar a crear objetos, utilizando la clase de palabra clave. Cabe señalar que la sintaxis de class es solo una sintaxis, y no una implementación de paradigmas orientados a objetos basada completamente en clases, a diferencia de lenguajes como Java, Python o Ruby, etc. En ES5, generalmente definimos un constructor función, y utilizar la new palabra clave para crear una instancia de un objeto.
var SpaceShuttle = function (targetPlanet) {
this.targetPlanet = targetPlanet;
}
var zeus = nuevo SpaceShuttle ('Jupiter');
La sintaxis de clase simplemente reemplaza la creación de la función de constructor:
clase SpaceShuttle {
constructor (targetPlanet) {
this.targetPlanet = targetPlanet;
}
}
const zeus = nuevo SpaceShuttle ('Jupiter');
Observe que la class de palabras clave declara una nueva función, y se añadió 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 . La Vegetable permite crear un objeto vegetal, con un name propiedad, para pasarlo 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 ```