Movatterモバイル変換


[0]ホーム

URL:


  1. Tecnología web para desarrolladores
  2. JavaScript
  3. Referencia de JavaScript
  4. Objetos globales
  5. Object
  6. Object.prototype.hasOwnProperty()

Esta página ha sido traducida del inglés por la comunidad.Aprende más y únete a la comunidad de MDN Web Docs.

View in EnglishAlways switch to English

Object.prototype.hasOwnProperty()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨julio de 2015⁩.

Resumen

El métodohasOwnProperty() devuelve un booleano indicando si el objeto tiene la propiedad especificada.

Sintaxis

obj.hasOwnProperty(prop)

Parámetros

prop

El nombre de la propiedad a buscar.

Descripción

Todo objeto descendiente deObject hereda el métodohasOwnProperty. Este método puede ser usando para determinar si un objeto tiene la propiedad especificada como una propiedad directa de ese objeto; a diferencia del operadorin, este método no verifica la cadena prototipo del objeto.

Ejemplos

Ejemplo: usarhasOwnProperty para comprobar la existencia de una propiedad

El siguiente ejemplo determina si el objetoo contiene una propiedad llamadaprop:

js
o = new Object();o.prop = "exists";function changeO() {  o.newprop = o.prop;  delete o.prop;}o.hasOwnProperty("prop"); // returns truechangeO();o.hasOwnProperty("prop"); // returns false

Ejemplo: Directo versus propiedades heredadas

El siguiente ejemplo diferencia entre propiedades directas y propiedades heredadas a través de la cadena prototype:

js
o = new Object();o.prop = "exists";o.hasOwnProperty("prop"); // returns trueo.hasOwnProperty("toString"); // returns falseo.hasOwnProperty("hasOwnProperty"); // returns false

Ejemplo: Iterando sobre las propiedades de un objeto

El siguiente ejemplo muestra como iterar sobre las propiedades de un objeto sin ejecutar sobre propiedades heredadas. Observe que el bucle for..in ya está no solo iterando elementos enumerables, por consiguiente uno no debería asumir que basado en la falta de propiedades no numerales mostrando en el bucle que hasOwnProperty por si misma no está solo es estrictamente para iterar elementos numerados (como conObject.getOwnPropertyNames()).

js
var buz = {  fog: "stack",};for (var name in buz) {  if (buz.hasOwnProperty(name)) {    alert("this is fog (" + name + ") for sure. Value: " + buz[name]);  } else {    alert(name); // toString or something else  }}

Ejemplo:hasOwnProperty como una propiedad

JavaScript no protege el nombre de la propiedadhasOwnProperty; en consecuencia, si existe la posibilidad de que un objeto pudiera tener la propiedad con ese nombre, es necesario usar un externohasOwnProperty para obtener los correctos resultados:

js
var foo = {  hasOwnProperty: function () {    return false;  },  bar: "Here be dragons",};foo.hasOwnProperty("bar"); // always returns false// Use another Object's hasOwnProperty and call it with 'this' set to foo({}).hasOwnProperty.call(foo, "bar"); // true// It's also possible to use the hasOwnProperty property from the Object property for this purposeObject.prototype.hasOwnProperty.call(foo, "bar"); // true

Observe que en el último caso no han habido nuevos objetos creados.

Especificaciones

Specification
ECMAScript® 2026 Language Specification
# sec-object.prototype.hasownproperty

Compatibilidad con navegadores

Véase también

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp