mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 19:17:44 +00:00
LibJS: Make Object.getOwnPropertyDescriptor() work with string indexed property
E.g. for "0" we have to contruct a PropertyName with Type::Number so it looks in the indexed properties as expected.
This commit is contained in:
parent
614bad86bc
commit
7af1d2c170
2 changed files with 23 additions and 0 deletions
|
@ -388,6 +388,11 @@ Optional<PropertyDescriptor> Object::get_own_property_descriptor(const PropertyN
|
|||
value = existing_value.value().value;
|
||||
attributes = existing_value.value().attributes;
|
||||
} else {
|
||||
if (property_name.is_string()) {
|
||||
i32 property_index = property_name.as_string().to_int().value_or(-1);
|
||||
if (property_index >= 0)
|
||||
return get_own_property_descriptor(property_index);
|
||||
}
|
||||
auto metadata = shape().lookup(property_name.to_string_or_symbol());
|
||||
if (!metadata.has_value())
|
||||
return {};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue