The in operator tests whether the specified property is in the specified object.

If the right operand is a of primitive type (i.e., not an object) the in operator raises a TypeError.

Noncompliant Code Example

var x = "Foo";
"length" in x; // Noncompliant: TypeError
0 in x;        // Noncompliant: TypeError

Compliant Solution

var x = new String("Foo");
"length" in x;    // true
0 in x;           // true
"foobar" in x;    // false