mirror of
https://github.com/nodejs/node.git
synced 2025-05-21 12:25:12 +00:00

PR-URL: https://github.com/nodejs/node/pull/42740 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Richard Lau <rlau@redhat.com>
26 lines
717 B
JavaScript
26 lines
717 B
JavaScript
// Copyright 2022 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.
|
|
|
|
class Base {
|
|
constructor(arg) {
|
|
return arg;
|
|
}
|
|
}
|
|
|
|
class ClassNonExtensibleWithPrivateField extends Base {
|
|
#privateField = (() => {
|
|
Object.preventExtensions(this);
|
|
return "defined";
|
|
})();
|
|
// In case the object has a null prototype, we'll use a static
|
|
// method to access the field.
|
|
static getPrivateField(obj) { return obj.#privateField; }
|
|
constructor(arg) {
|
|
super(arg);
|
|
}
|
|
}
|
|
|
|
new ClassNonExtensibleWithPrivateField(globalThis);
|
|
assertEquals("defined", ClassNonExtensibleWithPrivateField.getPrivateField(globalThis));
|