1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 21:17:45 +00:00

LibJS: Use the function's bound |this| and bound arguments in

Interpreter::call()
This commit is contained in:
Jack Karamanian 2020-05-30 01:07:02 -05:00 committed by Andreas Kling
parent 3ffb0a4e87
commit f4129ac422
2 changed files with 14 additions and 2 deletions

View file

@ -11,6 +11,17 @@ try {
}
assert(getB.bind("bar")() === "B");
// Bound functions should work with array functions
var Make3 = Number.bind(null, 3);
assert([55].map(Make3)[0] === 3);
var MakeTrue = Boolean.bind(null, true);
assert([1, 2, 3].filter(MakeTrue).length === 3);
assert([1, 2, 3].reduce((function (acc, x) { return acc + x }).bind(null, 4, 5)) === 9);
assert([1, 2, 3].reduce((function (acc, x) { return acc + x + this; }).bind(3)) === 12);
function sum(a, b, c) {
return a + b + c;
}