11.8.6 instanceof operator

2010-05-17

RelationalExpression : RelationalExpression instanceof ShiftExpression
RelationalExpressionNoIn : RelationalExpressionNoIn instanceof ShiftExpression

Code: (Meta Ecma)
function evaluate(RelationalExpression instanceof ShiftExpression) {
var lref = evaluate(RelationalExpression);
var lval = GetValue(lref);
var rref = evaluate(ShiftExpression);
var rval = GetValue(rref);
if (Type(rval) != 'object') throw TypeError;
if (!rval.[[HasProperty]]([[HasInstance]])) throw TypeError;
return rval.[[HasInstance]](lval);
}