Apply your JS skills to key Mozilla projects as an MDN Fellow! http://mzl.la/MDNFellowship

mozilla
Los resultados de tu búsqueda

    Determinando relaciones de instancia

    Determinando relaciones de Instancias

    Puede querer saber qué objetos están en la cadena de prototipo para un objeto, de tal manera que pueda saber de que objetos, éste objeto hereda sus propiedades.

    Comenzando por JavaScript 1.4, JavaScript provee un operador para instancias [instanceof] para probar la cadena prototipada. Este operador trabaja exactamente como la función instanceof discutida abajo.

    Como se discutió en Heredando las propiedades, cuando utilice el operador new para crear un nuevo objeto, JavaScript configura la propiedad __proto__ del nuevo objeto como el valor de la propiedad prototype de la función constructora. Puede utilizar esto para probar la cadena de prototipo.

    Por ejemplo, supóngase que posee el mismo conjunto de definiciones ya mostradas, con el conjunto prototipado apropiadamente. Cree un objeto Ingeniero como sigue:

    chris = new Ingeniero("Pigman, Chris", ["jsd"], "fiji");
    

    Con este objeto, las siguientes sentencias son todas verdaderas:

    chris.__proto__ == Ingeniero.prototype;
    chris.__proto__.__proto__ == Trabajador.prototype;
    chris.__proto__.__proto__.__proto__ == Empleado.prototype;
    chris.__proto__.__proto__.__proto__.__proto__ == Objecto.prototype;
    chris.__proto__.__proto__.__proto__.__proto__.__proto__ == null;
    

    Dado esto, podría escribir una función instanceOf como sigue:

    function instanceOf(objecto, constructor) {
       while (objecto != null) {
          if (objecto == constructor.prototype)
             return true;
          objecto = object.__proto__;
       }
       return false;
    }
    

    con esta definición, las siguientes expresiones son verdaderas:

    instanceOf (chris, Ingeniero)
    instanceOf (chris, Trabajador)
    instanceOf (chris, Empleado)
    instanceOf (chris, Objecto)
    

    Pero la siguiente expresión es falsa:

    instanceOf (chris, Vendedor)
    

    Etiquetas y colaboradores del documento

    Contributors to this page: DSN XP, teoli, tiangolo, Mgjbot
    Última actualización por: teoli,