LibJS: Implement 'in' operator

This commit is contained in:
Linus Groh 2020-04-23 16:06:01 +01:00 committed by Andreas Kling
commit 11728b7db5
Notes: sideshowbarker 2024-07-19 07:21:32 +09:00
6 changed files with 54 additions and 0 deletions

View file

@ -382,6 +382,14 @@ Value eq(Interpreter& interpreter, Value lhs, Value rhs)
return Value(false);
}
Value in(Interpreter& interpreter, Value lhs, Value rhs)
{
if (!rhs.is_object())
return interpreter.throw_exception<TypeError>("'in' operator must be used on object");
return Value(rhs.as_object().get(lhs.to_string()).has_value());
}
Value instance_of(Interpreter&, Value lhs, Value rhs)
{
if (!lhs.is_object() || !rhs.is_object())