60 lines
1.3 KiB
JavaScript
60 lines
1.3 KiB
JavaScript
'use strict';
|
|
|
|
function functionObject() {
|
|
this.inner = 'property';
|
|
}
|
|
|
|
// Function Inner Property
|
|
functionObject.functionObjectEnumerablePropEnumerable = 'functionObjectEnumerablePropEnumerableVALUE';
|
|
|
|
Object.defineProperty(functionObject, 'functionObjectEnumerablePropNonEnumerable', {
|
|
configurable: true,
|
|
enumerable: false,
|
|
writable: true,
|
|
value: 'functionObjectEnumerablePropNonEnumerableVALUE'
|
|
});
|
|
|
|
Object.defineProperty(functionObject.prototype, 'protoEnumerableProp', {
|
|
configurable: true,
|
|
enumerable: true,
|
|
writable: true,
|
|
value: 'protoEnumerablePropVALUE'
|
|
});
|
|
|
|
Object.defineProperty(functionObject.prototype, 'protoNonEnumerableProp', {
|
|
configurable: true,
|
|
enumerable: false,
|
|
writable: true,
|
|
value: 'nonEnumerablePropVALUE'
|
|
});
|
|
|
|
const instanceFromFunctionObject = new functionObject();
|
|
|
|
Object.defineProperty(instanceFromFunctionObject, 'propEnumerable', {
|
|
configurable: true,
|
|
enumerable: true,
|
|
writable: true,
|
|
value: 'propEnumerableVALUE'
|
|
});
|
|
|
|
Object.defineProperty(instanceFromFunctionObject, 'propNonEnumerable', {
|
|
configurable: true,
|
|
enumerable: false,
|
|
writable: true,
|
|
value: 'propNonEnumerableVALUE'
|
|
});
|
|
|
|
instanceFromFunctionObject.a = {
|
|
b: {
|
|
c: x => x
|
|
},
|
|
d: 3,
|
|
f: {
|
|
g: 'h'
|
|
}
|
|
};
|
|
|
|
module.exports = {
|
|
instanceFromFunctionObject,
|
|
functionObject
|
|
} |