summaryrefslogtreecommitdiff
path: root/Libraries/LibJS/Runtime/Value.h
AgeCommit message (Collapse)Author
2020-04-02LibJS: Implement InfinityLinus Groh
2020-04-02LibJS: Implement unary plus / minusLinus Groh
2020-04-01LibJS: Make Value::as_object() return Object&Andreas Kling
Let's move towards using references over pointers in LibJS as well. I had originally steered away from it because that's how I've seen things done in other engines. But this is not the other engines. :^)
2020-03-30LibJS: Start implementing Date :^)Linus Groh
This adds: - A global Date object (with `length` property and `now` function) - The Date constructor (no arguments yet) - The Date prototype (with `get*` functions)
2020-03-28LibJS: Rework how native functions are called to improve |this| valueAndreas Kling
Native functions now only get the Interpreter& as an argument. They can then extract |this| along with any indexed arguments it wants from it. This forces functions that want |this| to actually deal with calling interpreter.this_value().to_object(), and dealing with the possibility of a non-object |this|. This is still not great but let's keep massaging it forward.
2020-03-28LibJS: Add a global "Object" constructorAndreas Kling
This patch adds an "Object" constructor to the global object. The only function it implements so far is Object.getPrototypeOf().
2020-03-28LibJS: Implement the "instanceof" operatorAndreas Kling
This operator walks the prototype chain of the RHS value and looks for a "prototype" property with the same value as the prototype of the LHS. This is pretty cool. :^)
2020-03-27LibJS: Basic NaN supportAndreas Kling
This patch adds js_nan() for constructing a NaN value. You can check if a Value is NaN with Value::is_nan().
2020-03-26LibJS: Add Value::is_array()Andreas Kling
2020-03-20LibJS: Allow default-constructing a JS::Value (undefined)Andreas Kling
2020-03-16LibJS: Add "Heap" and "Runtime" subdirectoriesAndreas Kling
Let's try to keep LibJS tidy as it expands. :^)