Cómo dominar la programación orientada a objetos JavaScript en 15 minutos
Introducción: a menudo veo código JavaScript que es demasiado complicado de entender. Hay propiedades y métodos en todas partes, o hay bucles dentro de bucles. Pero si usa la orientación a objetos, el código se puede aclarar muy bien y es más fácil de entender y modificar. Si no desea que solo Dios entienda su código, considere utilizar el patrón orientado a objetos.
Texto de traducción:
Hay propiedades y métodos por todas partes, y el código es extremadamente difícil de entender. Dios mío, programador mío, ¿qué estás haciendo? ¡Eche un vistazo más de cerca a esta guía y escribamos juntos un elegante código JavaScript orientado a objetos!
Como desarrollador, poder escribir código elegante es crucial para tu carrera. Con el desarrollo de tecnologías como Node.js, incluso puedes usar JavaScript en el lado del servidor. Asimismo, puede utilizar JavaScript para controlar el almacenamiento de datos persistentes de MongoDB.
Etiqueta de texto
La etiqueta de texto es solo una forma de crear objetos en JavaScript. Por supuesto, definitivamente hay más que esto, pero es tu primera opción cuando solo planeas crear. un método de instancia de objeto.
var bill = {};
El código anterior no es práctico, es solo un objeto vacío. A continuación agregamos dinámicamente algunas propiedades y métodos a este objeto.
bill.name = "Bill E Cabra";
bill.sound = function() {
console.log( 'bahhh!' );
};
El nombre del atributo se agrega aquí y se le asigna el valor "Bill E Goat". No necesitamos crear un objeto vacío primero, pero podemos escribir todo el código directamente entre paréntesis.
var bill = {
nombre: "Bill E Goat",
sonido: función() {
console.log( 'bahhh!' );
}
};
¿No es hermoso? Acceder a sus propiedades y métodos es tan fácil y natural como respirar.
bill.name; // "Bill E Goat"
bill.sound(); // "bahhh"
Si el nombre del atributo no es un identificador legal, también podemos acceder a él de esta manera:
bill['name']; // "Bill E Goat"
Nota: agregué paréntesis después al llamar al método . Ahora, reescribamos el método de sonido actual y agreguemos un parámetro.
bill.sound = function(ruido) {
console.log(ruido);
};
bill.sound( "brrr!"); // "¡brrr!" Tiene frío :)
Genial, pasamos el parámetro y accedemos a él en la definición del método. A continuación, agregue un nuevo método al objeto para acceder a la propiedad del nombre.
bill.sayName = function() {
console.log( "Hola " this.name
}; bill.sayName(); // "Hola Bill E Goat"
Podemos acceder a la propiedad dentro del método usando this.propertyName (en este caso this.name).
bill.sayName; // función
¿Qué está pasando? Acceder al método sayName devuelve una definición de método. Ahora profundicemos un poco más.
var sound = bill.sound;
sound('moo!'); // "moo!"
Ahora especificamos el método de sonido como un Función local, puede llamar a esta función y pasar parámetros. ¿Qué crees que pasará cuando copie el billete? (analogía con la oveja clonada Dolly)
var sally = bill;
sally.name; // "Bill E Goat", pero su nombre es Sally
sally.name = "Sally";
sally.name; // "Sally", mejor
bill.name; // "Sally", el problema se ha trasladado a facturar nuevamente. Entendido
En el ejemplo anterior, creamos una nueva variable sally y la hicimos igual que bill, por lo que bill y sally harán referencia al mismo objeto en la memoria. En este momento, si cambias una pieza, cambiarán al mismo tiempo. Mire el siguiente código nuevamente:
bill.name = "Bill E Goat";
bill.sayName() // "Hello Bill E Goat";
var sayName = bill.sayName;
sayName; // la función hasta ahora va bien
sayName(); // "Hola", ¿por qué ya no se muestra aquí? ¿El nombre de Bill?