#1 Data Analytics Program in India
₹2,499₹1,499Enroll Now
4 min read
Question 37 of 50medium

What are common Object methods in JavaScript?

Understanding Object static methods.

What You'll Learn

  • Object.keys/values/entries
  • Object.assign and freeze
  • Object.create and getOwnPropertyDescriptor

Getting Keys, Values, Entries

code.jsJavaScript
const person = { name: 'John', age: 30 };

Object.keys(person);    // ['name', 'age']
Object.values(person);  // ['John', 30]
Object.entries(person); // [['name', 'John'], ['age', 30]]

// Iteration
for (const [key, value] of Object.entries(person)) {
  console.log(`${key}: ${value}`);
}

Object.assign

code.jsJavaScript
const target = { a: 1 };
const source = { b: 2, c: 3 };

Object.assign(target, source);
// target is now { a: 1, b: 2, c: 3 }

// Clone (shallow)
const clone = Object.assign({}, original);

// Merge multiple
const merged = Object.assign({}, obj1, obj2, obj3);

Object.freeze / Object.seal

code.jsJavaScript
// freeze - no changes at all
const frozen = Object.freeze({ a: 1 });
frozen.a = 2;    // Silently fails (or error in strict mode)
frozen.b = 3;    // Silently fails

// seal - can modify existing, can't add/delete
const sealed = Object.seal({ a: 1 });
sealed.a = 2;    // Works
sealed.b = 3;    // Fails

Object.isFrozen(frozen); // true
Object.isSealed(sealed); // true

Object.create

code.jsJavaScript
// Create with prototype
const proto = {
  greet() { return `Hello, ${this.name}`; }
};

const obj = Object.create(proto);
obj.name = 'John';
obj.greet(); // 'Hello, John'

Property Descriptors

code.jsJavaScript
Object.defineProperty(obj, 'readOnly', {
  value: 'constant',
  writable: false,
  enumerable: true,
  configurable: false
});