summaryrefslogtreecommitdiff
path: root/js/src
diff options
context:
space:
mode:
Diffstat (limited to 'js/src')
-rw-r--r--js/src/builtin/Object.cpp1
-rw-r--r--js/src/builtin/Object.js9
2 files changed, 10 insertions, 0 deletions
diff --git a/js/src/builtin/Object.cpp b/js/src/builtin/Object.cpp
index 70a21079c0..5221afb617 100644
--- a/js/src/builtin/Object.cpp
+++ b/js/src/builtin/Object.cpp
@@ -1240,6 +1240,7 @@ static const JSFunctionSpec object_static_methods[] = {
JS_FN("seal", obj_seal, 1, 0),
JS_FN("isSealed", obj_isSealed, 1, 0),
JS_SELF_HOSTED_FN("fromEntries", "ObjectFromEntries", 1, 0),
+ JS_SELF_HOSTED_FN("hasOwn", "ObjectHasOwn", 2, 0),
JS_FS_END
};
diff --git a/js/src/builtin/Object.js b/js/src/builtin/Object.js
index c4739037e3..59d4807317 100644
--- a/js/src/builtin/Object.js
+++ b/js/src/builtin/Object.js
@@ -220,3 +220,12 @@ function ObjectFromEntries(iter) {
return obj;
}
+
+// Proposal https://github.com/tc39/proposal-accessible-object-hasownproperty
+// Object.hasOwn (Object, Property)
+function ObjectHasOwn(O, P) {
+ // Step 1.
+ var obj = ToObject(O);
+ // Step 2-3.
+ return callFunction(std_Object_hasOwnProperty, obj, P);
+}