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

Revision 1061840 of ReferenceError: reference to undefined property "x"

  • Revision slug: Web/JavaScript/Reference/Errors/Undefined_prop
  • Revision title: ReferenceError: reference to undefined property "x"
  • Revision id: 1061840
  • Created:
  • Creator: fscholz
  • Is current revision? No
  • Comment new page

Revision Content

{{jsSidebar("Errors")}}

Message

ReferenceError: reference to undefined property "x" (Firefox)

Error type

{{jsxref("ReferenceError")}} warning in strict mode only.

What went wrong?

There is access to an object property that does not exist. There are two ways to access properties, see the property accessors reference page for more details.

Errors about references to undefined properties occur in strict mode code only. In non-strict code, they are silently ignored.

Examples

Invalid cases

In this case, the property "bar" is an undefined property.

"use strict"; 

var foo = {};
foo.bar; // ReferenceError: reference to undefined property "bar"

Valid cases

To avoid the error, you need to make "bar" a defined property, or check if a "bar" property exists before using it (for example, with the help of the {{jsxref("Object.prototype.hasOwnProperty()")}} method).

"use strict";

var foo = {};

foo.bar = "moon";
console.log(foo.bar); // "moon"

if (foo.hasOwnProperty("bar") {
  console.log(foo.bar);
}

See also

Revision Source

<div>{{jsSidebar("Errors")}}</div>

<h2 id="Message">Message</h2>

<pre class="syntaxbox">
ReferenceError: reference to undefined property "x" (Firefox)
</pre>

<h2 id="Error_type">Error type</h2>

<p>{{jsxref("ReferenceError")}} warning in <a href="/en-US/docs/Web/JavaScript/Reference/Strict_mode">strict mode</a> only.</p>

<h2 id="What_went_wrong">What went wrong?</h2>

<p>There is access to an object property that does not exist. There are two ways to access properties, see the <a href="/en-US/docs/Web/JavaScript/Reference/Operators/Property_Accessors">property accessors</a> reference page for more details.</p>

<p>Errors about references to undefined properties occur in <a href="/en-US/docs/Web/JavaScript/Reference/Strict_mode">strict mode code</a> only. In non-strict code, they are silently ignored.</p>

<h2 id="Examples">Examples</h2>

<h3 id="Invalid_cases">Invalid cases</h3>

<p>In this case, the property "bar" is an undefined property.</p>

<pre class="brush: js example-bad">
"use strict"; 

var foo = {};
foo.bar; // ReferenceError: reference to undefined property "bar"
</pre>

<h3 id="Valid_cases">Valid cases</h3>

<p>To avoid the error, you need to make "bar" a defined property, or check if a "bar" property exists before using it (for example, with the help of the {{jsxref("Object.prototype.hasOwnProperty()")}} method).</p>

<pre class="brush: js example-good">
"use strict";

var foo = {};

foo.bar = "moon";
console.log(foo.bar); // "moon"

if (foo.hasOwnProperty("bar") {
  console.log(foo.bar);
}</pre>

<h2 id="See_also">See also</h2>

<ul>
 <li><a href="/en-US/docs/Web/JavaScript/Reference/Strict_mode">Strict mode</a></li>
</ul>
Revert to this revision