Programar en JavaScript usando el paradigma de programación orientada a objetos (OOP, por sus siglas en inglés) incluye la definición de objetos por medio de “funciones constructoras” y después la creación de instancias del objeto con la palabra clave “new”. Veamos un ejemplo básico:
```javascript
// Definir el objeto ‘auto’ a través de una función constructora
function myCar(make, model, year) {
this.make = make;
this.model = model;
this.year = year;
}
// Crear una instancia del objeto ‘Auto‘
const fordFocus = new myCar(‘Ford’, ‘Focus’, 2007);
// Ahora puedes accesar a las propiedades del objeto
console.log(fordFocus.make); // Outputs: ‘Ford‘
```
Además, el prototipo del objeto, que contiene sus métodos, se puede manipular directamente:
```javascript
// Agregar un método al objeto ‘Auto’ usando su prototipo
myCar.prototype.startEngine = function() {
console.log(“El motor de “ + this.make + “ “ + this.model + “ fue encendido”);
}
// Ahora puedes usar los métodos de este objeto
fordFocus.startEngine();
```
Pero también es importante tener en cuenta que a partir de ES6 (la versión 2015 de Javascript) se introdujo una sintaxis más sencilla y elegante con la cual podemos trabajar con OOP en Javascript a través de las clases:
```javascript
class Car {
constructor(make, model, year) {
this.make = make;
this.model = model;
this.year = year;
}
let fordFocus = new Car(‘Ford’, ‘Focus’, 2007);
console.log(fordFocus.make); // Outputs: ‘Ford‘
fordFocus.startEngine();
```
Recuerda que las clases de JavaScript son un tipo de función. Al igual que una función, las clases se pueden definir utilizando una declaración de clase o una expresión de clase.