Obsolete
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.
Obsolete JavaScript features and unmaintained docs
- arguments.caller
- The obsolete
arguments.caller
property used to provide the function that invoked the currently executing function. This property has been removed and no longer works. - Array comprehensions
- The array comprehension syntax was a JavaScript expression which allowed you to quickly assemble a new array based on an existing one. However, it has been removed from the standard and the Firefox implementation. Do not use it!
- Array.observe()
- The
Array.observe()
method was used for asynchronously observing changes to Arrays, similar toObject.observe()
for objects. It provided a stream of changes in order of occurrence. It's equivalent toObject.observe()
invoked with the accept type list["add", "update", "delete", "splice"]
. However, this API has been deprecated and removed from Browsers. You can use the more generalProxy
object instead. - Array.unobserve()
- The Array.unobserve() method was used to remove observers set by
Array.observe()
, but has been deprecated and removed from Browsers. You can use the more generalProxy
object instead. - ArrayBuffer.transfer()
- The static
ArrayBuffer.transfer()
method returns a newArrayBuffer
whose contents have been taken from theoldBuffer
's data and then is either truncated or zero-extended bynewByteLength
. IfnewByteLength
isundefined
, thebyteLength
of theoldBuffer
is used. This operation leavesoldBuffer
in a detached state. - Date.prototype.toLocaleFormat()
- The non-standard
toLocaleFormat()
method converts a date to a string using the specified formatting.Intl.DateTimeFormat
is an alternative to format dates in a standards-compliant way. See also the newer version ofDate.prototype.toLocaleDateString()
. - ECMAScript 2016 to ES.Next support in Mozilla
- Expression closures
- Expression closures are a shorthand function syntax for writing simple functions.
- for each...in
- The
for each...in
statement iterates a specified variable over all values of object's properties. For each distinct property, a specified statement is executed. - Function.arity
- Not part of any standard.
- Function.prototype.isGenerator()
- The non-standard
isGenerator()
method used to determine whether or not a function is a generator. It has been removed from Firefox starting with version 58. - Generator comprehensions
- The generator comprehension syntax was a JavaScript expression which allowed you to quickly assemble a new generator function based on an existing iterable object. However, it has been removed from the standard and the Firefox implementation. Do not use it!
- handler.enumerate()
- The
handler.enumerate()
method used to be a trap forfor...in
statements, but has been removed from the ECMAScript standard in ES2016 and is deprecated in browsers. - Legacy generator function
- The legacy generator function statement declares legacy generator functions with the specified parameters.
- Legacy generator function expression
- The
function
keyword can be used to define a legacy generator function inside an expression. To make the function a legacy generator, the function body should contain at least oneyield
expression. - Microsoft JavaScript extensions
- Microsoft browsers (Internet Explorer, and in a few cases, Microsoft Edge) support a number of special Microsoft extensions to the otherwise standard JavaScript APIs.
- New in JavaScript
- This chapter contains information about JavaScript's version history and implementation status for Mozilla/SpiderMonkey-based JavaScript applications, such as Firefox.
- Number.toInteger()
- The
Number.toInteger()
method used to evaluate the passed value and convert it to an integer, but its implementation has been removed. - Object.getNotifier()
- The
Object.getNotifer()
method was used to create an object that allows to synthetically trigger a change, but has been deprecated and removed in browsers. - Object.observe()
- The
Object.observe()
method was used for asynchronously observing the changes to an object. It provided a stream of changes in the order in which they occur. However, this API has been deprecated and removed from browsers. You can use the more generalProxy
object instead. - Object.prototype.__count__
- The
__count__
property used to store the count of enumerable properties on the object, but it has been removed. - Object.prototype.__noSuchMethod__
- The
__noSuchMethod__
property used to reference a function to be executed when a non-existent method is called on an object, but this function is no longer available. - Object.prototype.__parent__
- The
__parent__
property used to point to an object's context, but it has been removed. - Object.prototype.eval()
- The
Object.eval()
method used to evaluate a string of JavaScript code in the context of an object, however, this method has been removed. - Object.prototype.unwatch()
- The
unwatch()
method removes a watchpoint set with thewatch()
method. - Object.prototype.watch()
- The
watch()
method watches for a property to be assigned a value and runs a function when that occurs. - Object.unobserve()
- The
Object.unobserve()
method was used to remove observers set byObject.observe()
, but has been deprecated and removed from Browsers. You can use the more generalProxy
object instead. - Reflect.enumerate()
- The static
Reflect
.enumerate()
method used to return an iterator with the enumerable own and inherited properties of the target object, but has been removed in ECMAScript 2016 and is deprecated in browsers. - String.prototype.quote()
- The non-standard
quote()
method returns a copy of the string, replacing various special characters in the string with their escape sequences and wrapping the result in double-quotes ("
).