PR-URL: https://github.com/nodejs/node/pull/30020 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
21 lines
564 B
JavaScript
21 lines
564 B
JavaScript
// Copyright 2019 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
// Define an object with a getter and a proxy as it's prototype.
|
|
var obj = {foo: 'bar'};
|
|
Object.defineProperty(obj, 'foo', {
|
|
get: function () {
|
|
}
|
|
});
|
|
obj.__proto__ = new Proxy([], {});
|
|
|
|
// Get key from a function to avoid the property access turning into a
|
|
// named property access.
|
|
function getKey() {
|
|
return 'values'
|
|
}
|
|
|
|
// Keyed access to update obj's values property.
|
|
obj[getKey()] = 1;
|