--- title: 'ReferenceError: reference to undefined property "x"' slug: Web/JavaScript/Reference/Errors/Undefined_prop tags: - JavaScript - Modo estricto - ReferenceError - errores translation_of: Web/JavaScript/Reference/Errors/Undefined_prop ---
ReferenceError: reference to undefined property "x" (Firefox)
Advertencia {{jsxref("ReferenceError")}} únicamente en modo estricto.
El script intentó acceder a una propiedad no definida en un objeto. Hay dos formas de acceder a las propiedades; vea la página operadores de miembros para aprender más sobre ellas.
Los errores sobre referencias a propiedades no definidas ocurren únicamente en el modo de código estricto. En el modo no estricto, estos intentos de obtener propiedades no definidas son silenciosamente ignorados.
En este caso, la propiedad bar
no está definida, produciéndose un ReferenceError
.
'use strict'; var foo = {}; foo.bar; // ReferenceError: reference to undefined property "bar"
Para evitar este error, es necesario ya sea definir la propiedad bar
en el objeto o verificar su existencia antes de leerla; una manera de hacerlo es usar el método {{jsxref("Object.prototype.hasOwnProperty()")}}, como en el siguiente ejemplo:
'use strict'; var foo = {}; // Definir la propiedad bar foo.bar = 'luna'; console.log(foo.bar); // "luna" // Prueba para asegurarse que bar existe antes de leerla if (foo.hasOwnProperty('bar')) { console.log(foo.bar); }