Object
Object constructor.
Usage
var Object = require( '@stdlib/object/ctor' );
Object( value )
Returns a new object.
var o = new Object( null );
// returns {}
Properties
Object.prototype.constructor
Property whose value is a reference to the constructor function that created the instance object.
var o = new Object( null );
var ctr = o.constructor;
// returns Object
Methods
Object.assign( target, ...sources )
Assigns enumerable properties of one or more source objects to a target object.
var o = Object.assign( {}, { 'a': 1, 'b': 2 } );
// returns { 'a': 1, 'b': 2 }
Object.create( prototype, properties )
Returns a new object with the given prototype and properties.
var o = Object.create( null, {
'a': {
'value': 1
},
'b': {
'value': 2
}
});
// returns { 'a': 1, 'b': 2 }
function Person( first, last ) {
this.first = first;
this.last = last;
}
var p = Object.create( Person.prototype, {
'first': {
'value': 'Jane'
},
'last': {
'value': 'Doe'
}
});
// returns Person { 'first': 'Jane', 'last': 'Doe' }
Object.defineProperties( target, properties )
Defines new or modifies existing properties directly on an object, returning the object.
var o = Object.defineProperties( {}, {
'a': {
'value': 1
},
'b': {
'value': 2
}
});
// returns { 'a': 1, 'b': 2 }
Object.defineProperty( target, property, descriptor )
Defines a new property directly on an object, or modifies an existing property on an object, and returns the object.
var o = Object.defineProperty( {}, 'a', {
'value': 1,
'writable': true,
'enumerable': true,
'configurable': true
});
// returns { 'a': 1 }
Object.entries( obj )
Returns an array of a given object's own enumerable string-keyed property entries, i.e. [key, value]
pairs.
var o = { 'a': 1, 'b': 2 };
var arr = Object.entries( o );
// e.g., returns [ [ 'a', 1 ], [ 'b', 2 ] ]
Object.freeze( o )
Freezes an object. A frozen object can no longer be changed; freezing an object prevents new properties from being added to it, existing properties from being removed, and existing properties from being changed.
var o = { 'a': 1 };
Object.freeze( o );
// returns { 'a': 1 }
o.b = 1;
var v = o.b;
// returns undefined
Object.getOwnPropertyDescriptor( o, p )
Returns an object that contains the properties of the given object.
var o = { 'a': 1 };
var d = Object.getOwnPropertyDescriptor( o, 'a' );
// returns { 'value': 1, 'writable': true, 'enumerable': true, 'configurable': true }
Object.getOwnPropertyDescriptors( o )
Returns an object whose properties are the result of calling Object.getOwnPropertyDescriptor()
on every property of the given object.
var o = { 'a': 1, 'b': 2 };
var d = Object.getOwnPropertyDescriptors( o );
// returns { 'a': { 'value': 1, 'writable': true, 'enumerable': true, 'configurable': true }, 'b': { 'value': 2, 'writable': true, 'enumerable': true, 'configurable': true } }
Object.getOwnPropertyNames( o )
Returns an array of a given object's own property names.
var o = { 'a': 1, 'b': 2 };
var arr = Object.getOwnPropertyNames( o );
// e.g., returns [ 'a', 'b' ]
Object.getOwnPropertySymbols( o )
Returns an array of a given object's own property symbols.
var o = { 'a': 1 };
o[ Symbol( 'b' ) ] = 2;
var arr = Object.getOwnPropertySymbols( o );
// returns [ Symbol(b) ]
Object.getPrototypeOf( o )
Returns the prototype of an object.
var o = { 'a': 1 };
var p = Object.getPrototypeOf( o );
// returns {}
Object.hasOwn( o, p )
Returns a boolean indicating whether an object has a property with the specified name.
var o = { 'a': 1 };
var b = Object.hasOwn( o, 'b' );
// returns false
Object.prototype.hasOwnProperty( p )
Returns a boolean indicating whether an object has a property with the specified name.
var o = { 'a': 1 };
var b = o.hasOwnProperty( 'a' );
// returns true
Object.is( value1, value2 )
Returns a boolean indicating whether two values are the same value.
var b = Object.is( 1, 1 );
// returns true
b = Object.is( 1, '1' );
// returns false
Object.isExtensible( o )
Returns a boolean indicating whether an object is extensible (whether new properties can be added to it).
var o = { 'a': 1 };
var b = Object.isExtensible( o );
// returns true
Object.preventExtensions( o );
b = Object.isExtensible( o );
// returns false
Object.isFrozen( o )
Returns a boolean indicating whether an object is frozen. Frozen objects can no longer be changed; freezing an object prevents new properties from being added to it, existing properties from being removed, and existing properties from being changed.
var o = { 'a': 1 };
var b = Object.isFrozen( o );
// returns false
Object.freeze( o );
b = Object.isFrozen( o );
// returns true
Object.prototype.isPrototypeOf( o )
Returns a boolean indicating whether an object is in the prototype chain of another object.
var o = { 'a': 1 };
var p = { '__proto__': o };
var b = o.isPrototypeOf( p );
// returns true
Object.isSealed( o )
Returns a boolean indicating whether an object is sealed. An object is sealed if it is not extensible and all of its properties are non-configurable.
var o = { 'a': 1 };
var b = Object.isSealed( o );
// returns false
Object.seal( o );
b = Object.isSealed( o );
// returns true
Object.keys( o )
Returns an array of a given object's own enumerable property names.
var o = { 'a': 1, 'b': 2 };
var arr = Object.keys( o );
// e.g., returns [ 'a', 'b' ]
Object.preventExtensions( o )
Prevents new properties from being added to an object.
var o = { 'a': 1 };
Object.preventExtensions( o );
o.b = 2;
var b = ( o.b === void 0 );
// returns true
o.a = 3;
b = ( o.a === 3 );
// returns true
Object.prototype.propertyIsEnumerable( p )
Returns a boolean indicating whether a property is enumerable.
var o = { 'a': 1 };
var b = o.propertyIsEnumerable( 'a' );
// returns true
var arr = [ 1, 2, 3 ];
b = arr.propertyIsEnumerable( 'length' );
// returns false
Object.seal( o )
Seals an object, preventing new properties from being added to it (i.e., making it non extensible) and marking all existing properties as non-configurable.
var o = { 'a': 1 };
Object.seal( o );
o.b = 2;
var b = ( o.b === void 0 );
// returns true
Object.setPrototypeOf( o, proto )
Sets the prototype of an object.
var o = { 'a': 1 };
var p = { 'b': 2 };
Object.setPrototypeOf( o, p );
var b = ( o.b === 2 );
// returns true
Object.prototype.toLocaleString()
Returns a string representing the object.
var o = { 'a': 1 };
var str = o.toLocaleString();
// returns <string>
Object.prototype.toString()
Returns a string representing the object.
var o = { 'a': 1 };
var str = o.toString();
// returns <string>
Object.prototype.valueOf()
Returns the primitive value of the object.
var o = {};
var v = o.valueOf();
// returns {}
Object.values( o )
Returns an array of a given object's own enumerable property values.
var o = { 'a': 1, 'b': 2 };
var arr = Object.values( o );
// e.g., returns [ 1, 2 ]
Notes
- If provided
null
orundefined
, the function returns an empty object. - If provided an existing object, the function returns the input value unchanged.
- Otherwise, if provided any other value (e.g., a number, string, etc), the function will return an object of the corresponding type.
Examples
var Object = require( '@stdlib/object/ctor' );
var values = [
'5',
5,
true,
false,
null,
void 0,
[],
{}
];
var i;
for ( i = 0; i < values.length; i++ ) {
console.log( new Object( values[ i ] ) );
}