blob: 96f7e050dea978404aa1f348abee7d485b08e743 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
---
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
---
<div>{{jsSidebar("Errors")}}</div>
<h2 id="Mensaje">Mensaje</h2>
<pre class="syntaxbox">ReferenceError: reference to undefined property "x" (Firefox)
</pre>
<h2 id="Tipo_de_error">Tipo de error</h2>
<p>Advertencia {{jsxref("ReferenceError")}} únicamente en <a href="/es/docs/Web/JavaScript/Referencia/Modo_estricto">modo estricto</a>.</p>
<h2 id="¿Qué_salió_mal">¿Qué salió mal?</h2>
<p>El script intentó acceder a una propiedad no definida en un objeto. Hay dos formas de acceder a las propiedades; vea la página <a href="/es/docs/Web/JavaScript/Referencia/Operadores/Miembros">operadores de miembros</a> para aprender más sobre ellas.</p>
<p>Los errores sobre referencias a propiedades no definidas ocurren únicamente en el <a href="/es/docs/Web/JavaScript/Referencia/Modo_estricto">modo de código estricto</a>. En el modo no estricto, estos intentos de obtener propiedades no definidas son silenciosamente ignorados.</p>
<h2 id="Ejemplos">Ejemplos</h2>
<h3 id="Casos_inválidos">Casos inválidos</h3>
<p>En este caso, la propiedad <code>bar</code> no está definida, produciéndose un <code>ReferenceError</code>.</p>
<pre class="brush: js example-bad">'use strict';
var foo = {};
foo.bar; // ReferenceError: reference to undefined property "bar"
</pre>
<h3 id="Casos_válidos">Casos válidos</h3>
<p>Para evitar este error, es necesario ya sea definir la propiedad <code>bar</code> 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:</p>
<pre class="brush: js example-good">'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);
}</pre>
<h2 id="Vea_también">Vea también</h2>
<ul>
<li><a href="/es/docs/Web/JavaScript/Referencia/Modo_estricto">Modo estricto</a></li>
</ul>
|