1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 12:27:34 +00:00

LibJS: Return undefined in Array.prototype.{pop,shift} for empty values

This commit is contained in:
Linus Groh 2020-04-29 00:22:47 +01:00 committed by Andreas Kling
parent a220236cde
commit d4ec38097f
3 changed files with 6 additions and 2 deletions

View file

@ -207,7 +207,7 @@ Value ArrayPrototype::pop(Interpreter& interpreter)
return {};
if (array->elements().is_empty())
return js_undefined();
return array->elements().take_last();
return array->elements().take_last().value_or(js_undefined());
}
Value ArrayPrototype::shift(Interpreter& interpreter)
@ -217,7 +217,7 @@ Value ArrayPrototype::shift(Interpreter& interpreter)
return {};
if (array->elements().is_empty())
return js_undefined();
return array->elements().take_first();
return array->elements().take_first().value_or(js_undefined());
}
static Value join_array_with_separator(Interpreter& interpreter, const Array& array, StringView separator)