Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

get

Enlaza la propiedad de un objeto con una función que puede ser llamada cuando la propiedad es buscada.

Sintaxis

{get prop() { . . . } }

Parámetros

prop
el nombre de la propiedad a unir con la función dada

Descripción

A veces es deseable permitir acceso a una propiedad que retorna un valor dinámicamente calculado, o si desea mostrar el estado de alguna variable interna sin requerir el uso de llamadas a métodos explicitos. En JavaScript, esto se puede lograr con el uso de un getter (captador). No es posible tener simultáneamente un getter ligado a una propiedad y que dicha propiedad tenga actualmente un valor, aunque es posible usar un getter junto con un setter para crear un tipo de pseudo-propiedad.

js_minversion_note("1.8.5",
  '<p style="text-align: left;">Starting in JavaScript 1.8.5, the <code>get</code> operator:</p>
  <ul style="text-align: left;">
    <li>can have an identifier which is either a number or a string;</li>
    <li>must have exactly zero parameters (see 
      <a href="https://whereswalden.com/2010/08/22/incompatible-es5-change-literal-getter-and-setter-functions-must-now-have-exactly-zero-or-one-arguments/" class="external" rel="external nofollow" target="_blank">Incompatible <abbr title="ECMAScript 5th edition">ES5</abbr> change: literal getter and setter functions must now have exactly zero or one arguments</a>
      for more information);</li>
    <li>must not appear in an object literal with another <code>get</code>
      or with a data entry for the same property (<code>{ get x() { }, get x() { } }</code>
      and <code>{ x: ..., get x() { } }</code> are forbidden).</li>
  </ul>');

El getter puede ser removido usando el operador delete.

Ejemplos

Definir un getter con el operador get

Esto creará una pseudo-propiedad latest (ver ejemplo) del objecto o que podría retornar la más reciente entrada dentro de o.log:

var o = {
  get latest () {
    if (this.log.length > 0) {
      return this.log[this.log.length - 1];
    }
    else {
      return null;
    }
  },
  log: []
}

Note que intentar asignar un valor a latest no lo cambiará.

Borrar un getter usando el operador delete

delete o.latest;

Compatibilidad de navegadores

Basado en la página de página de Robert Nyman

Sin soporte (notablemente en IE6-8) significa que el script lanzará un error de sintaxis.

Característica Firefox (Gecko) Chrome Internet Explorer Opera Safari
Soporte básico 2.0 (1.8.1) 1 9 9.5 3
Característica Firefox Mobile (Gecko) Android IE Mobile Opera Mobile Safari Mobile
Soporte básico ? ? ? ? ?

Consulta también

 

 

Etiquetas y colaboradores del documento

 Colaboradores en esta página: fscholz, teoli, carloshs92, jesanchez, ccarruitero
 Última actualización por: teoli,