Diferencia entre proto y prototipo.

En este artículo, cubriremos el tema de qué es proto y prototipos, su sintaxis, ejemplos y cuáles son las diferencias que existen entre ambos, y cómo difieren y cómo difieren en diferentes aspectos. 

Proto y prototipo son objetos que ayudan a crear una array, un objeto o una función y brindan acceso a esos métodos u objetos específicos directamente sin usar memoria e incluso dará acceso a su constructor y a todos los métodos de la array como push, pop, etc.

Proto: es un objeto real que proporciona una forma de heredar propiedades de JavaScript con la ayuda de un objeto que se crea con new. Todo objeto con comportamiento asociado tiene una propiedad interna [[prototipo]].

Sintaxis: 

Object.__proto__ = value

Ejemplo:

Javascript

function Student(name,age) {
 this.name = name;
 this.age = age;
}
var stu1 = new Student("John", 50);
  
// Ubject have proto property 
stu1
  
// Also if apply strict equal to check 
// if both point at the same 
// location then it will return true.
Student.prototype === stu1._proto_

Producción:

objeto tiene proto propiedad

objeto y función se refieren al mismo prototipo

Prototipo: es un objeto especial, lo que significa que contiene atributos y comportamientos compartidos de las instancias. Es una forma de heredar propiedades de javascript, ya que está disponible en cada declaración de función.

Sintaxis:

objectTypeName.prototype.SharedPropertyName=value;

Ejemplo:

Javascript

// Constructor function
function Student(name, age) {
    this.name = name;
    this.age = age;
}
  
// Objects
var stu1 = new Student("gfg1", 25);
var stu2 = new Student("gfg2", 42);
  
// Prototype
Student.prototype.getName = function() { return this.name; }
  
  
// Function have property prototype
// Student
  
// Function call using object
stu1.getName();
  
// Constructor function
function Student(name, age) {
    this.name = name;
    this.age = age;
}
  
// Objects
var stu1 = new Student("gfg1", 25);
var stu2 = new Student("gfg2", 42);
  
// Prototype
Student.prototype.getName = function() { return this.name; }
  
  
// Function have property prototype
// Student
  
// function call using object
stu1.getName();
  
// Access prototype
Student.prototype

Producción:

función tiene propiedad prototipo

llamada de función usando objeto

acceder a la propiedad del prototipo

Diferencia entre proto y prototipo:

Prototipo

prototipo

Los prototipos son una forma sencilla de compartir el comportamiento y los datos entre varios objetos a los que se accede mediante .prototype

proto también es una forma de compartir comportamiento y datos entre múltiples objetos accediendo usando __proto__

Todos los constructores de objetos (funciones) tienen propiedades prototipo. Todos los objetos tienen propiedad proto.

El prototipo da acceso al prototipo de función usando función.

Sintaxis: (función.prototipo)

proto da acceso al prototipo de la función usando el objeto.

Sintaxis: (objeto.__proto__)

Se usa principalmente para resolver problemas de desperdicio de memoria al crear un objeto en modo constructor, luego cada objeto tiene un comportamiento separado.

Se utiliza en la string de búsqueda para resolver métodos, constructores, etc.

Es propiedad de la clase. Es propiedad de la instancia de esa clase.

La propiedad prototipo está configurada para funcionar cuando se declara. Todas las funciones tienen una propiedad prototipo.

propiedad proto que se establece en un objeto cuando se crea utilizando una nueva palabra clave. Todos los comportamientos de los objetos recién creados tienen protopropiedades.

Se introduce en EcmaScript 6. Se introduce en ECMAScript 5.
También se le llama como .prototipo También se le llama dunder proto.
Se utiliza principalmente en javaScript. Rara vez se usa en JavaScript.

Publicación traducida automáticamente

Artículo escrito por surbhikumaridav y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *