Can someone tell me since which ECMA version the IN operator is available and which browsers (versions) support it ?
Explanation:
The IN-operator can be used like the following:
var myObject = {
Firstname: 'Foo',
Lastname: 'Bar'
};
if('Lastname' in myObject){
// Lastname is an attribute of myObject
}
The JavaScript in operator is used to check if a specified property exists in an object or in its inherited properties (in other words, its prototype chain). The in operator returns true if the specified property exists. Anatomy of a simple JavaScript object.
The strict equality operator ( === ) checks whether its two operands are equal, returning a Boolean result. Unlike the equality operator, the strict equality operator always considers operands of different types to be different.
JavaScript in operator to check whether the Array is using a key or the index for its values. JavaScript's “in” operator can also work with arrays as well.
(three dots in JavaScript) is called the Spread Syntax or Spread Operator. This allows an iterable such as an array expression or string to be expanded or an object expression to be expanded wherever placed.
It is defined in ECMAScript 3rd edition. It is available in IE 5.5+ and all in-use versions of Firefox, Chrome, Opera and Safari.
You can use it safe in the knowledge that it will work.
You should err on the side of caution when using it to check event support. All implementations except older Firefox versions support "eventname" in element
as a test for DOM events.
"onclick" in document.body; // -> false in old Fx, true in others
document.body.setAttribute("onclick", "");
typeof(document.body.onclick == "function"); // -> true in Fx
According to MDC, it's implemented in JavaScript 1.4.
According to Wikipedia:
So I think you're probably OK :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With