== Why is this an issue? 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 [source,javascript] ---- var x = "Foo"; "length" in x; // Noncompliant: TypeError 0 in x; // Noncompliant: TypeError ---- === Compliant solution [source,javascript] ---- var x = new String("Foo"); "length" in x; // true 0 in x; // true "foobar" in x; // false ---- ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) === Message TypeError can be thrown as this operand might have primitive type. === Highlighting Primary: The right operand. Secondary: the operator. endif::env-github,rspecator-view[]