DEV Community

Cover image for 7 Object Methods That You Should Know
Abdullah Furkan Özbek
Abdullah Furkan Özbek

Posted on • Originally published at blog.furkanozbek.com

7 Object Methods That You Should Know

1. Definition

In this tutorial we will take a look Object prototype and which methods does it provide. Let us get into it.

2. Objest.is()

Object.is() - JavaScript | MDN

In our first example we have and comprassion method which determines whether two values are the same value.

  • Returns: a boolean indicating whether or not the two arguments are the same value.
// Case 1: Evaluation result is the same as using ===
Object.is(25, 25);                // true
Object.is('foo', 'foo');          // true
Object.is('foo', 'bar');          // false
Object.is(null, null);            // true
Object.is(undefined, undefined);  // true
Object.is(window, window);        // true
Object.is([], []);                // false
var foo = { a: 1 };
var bar = { a: 1 };
Object.is(foo, foo);              // true
Object.is(foo, bar);              // false

// Case 2: Signed zero
Object.is(0, -0);                 // false
Object.is(+0, -0);                // false
Object.is(-0, -0);                // true
Object.is(0n, -0n);               // true

// Case 3: NaN
Object.is(NaN, 0/0);              // true
Object.is(NaN, Number.NaN)        // true
Enter fullscreen mode Exit fullscreen mode

3. Object.assign()

Object.assign() - JavaScript | MDN

The Object.assign() method copies all enumerable own properties from one or more source objects to a target object. It returns the modified target object

  • Returns: The target object.
const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };

const returnedTarget = Object.assign(target, source);

console.log(target);
// expected output: Object { a: 1, b: 4, c: 5 }

console.log(returnedTarget);
// expected output: Object { a: 1, b: 4, c: 5 }
Enter fullscreen mode Exit fullscreen mode

Properties in the target object are overwritten by properties in the sources if they have the same key. Later sources' properties overwrite earlier ones.

4. Object.entries()

Object.entries() - JavaScript | MDN

The Object.entries() method returns an array of a given object's own enumerable string-keyed property [key, value] pairs.

  • Returns: An array of the given object's own enumerable string-keyed property [key, value] pairs.
  • The ordering of the properties is the same as that given by looping over the property values of the object manually.
const object1 = {name: "David", age: 23};

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

// "name: David"
// "age: 23"
Enter fullscreen mode Exit fullscreen mode

5. Object.prototype.hasOwnProperty()

Object.prototype.hasOwnProperty() - JavaScript | MDN

The hasOwnProperty() method returns a boolean indicating whether the object has the specified property as its own property

  • Returns: true if the object has the specified property as own property; false otherwise.
const object1 = {};
object1.property1 = 42;

console.log(object1.hasOwnProperty('property1'));
// expected output: true

console.log(object1.hasOwnProperty('toString'));
// expected output: false

console.log(object1.hasOwnProperty('hasOwnProperty'));
// expected output: false
Enter fullscreen mode Exit fullscreen mode

6. Object.keys()

Object.keys() - JavaScript | MDN

The Object.keys() method returns an array of a given object's own enumerable property names, iterated in the same order that a normal loop would.

  • Returns:
const object1 = {
  a: 'somestring',
  b: 42,
  c: false
};

console.log(Object.keys(object1));
// expected output: Array ["a", "b", "c"]
Enter fullscreen mode Exit fullscreen mode

7. Object.values()

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values

The Object.values() method returns an array of a given object's own enumerable property values, in the same order as that provided by a for...in loop.

  • Returns: An array containing the given object's own enumerable property values.
const object1 = {
  a: 'somestring',
  b: 42,
  c: false
};

console.log(Object.values(object1));
// expected output: Array ["somestring", 42, false]
Enter fullscreen mode Exit fullscreen mode

8. Object.prototype.toString()

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString

The toString() method returns a string representing the object.

  • Returns: A string representing the object.
function Dog(name) {
  this.name = name;
}

const dog1 = new Dog('Gabby');

Dog.prototype.toString = function dogToString() {
  return `${this.name}`;
};

console.log(dog1.toString());
// expected output: "Gabby"

/* ---- */
const o = new Object();
o.toString(); // returns [object Object]
Enter fullscreen mode Exit fullscreen mode

9. Optional Parameter for toString

For Numbers and BigInts toString() takes an optional parameter radix the value of radix must be minimum 2 and maximum 36.

By using radix you can also convert base 10 numbers (like 1,2,3,4,5,.........) to another base numbers, in example below we are converting base 10 number to a base 2 (binary) number.

let baseTenInt = 10;
console.log(baseTenInt.toString(2));
// Expected output is "1010"

let bigNum = BigInt(20);
console.log(bigNum.toString(2));
// Expected output is "10100"
Enter fullscreen mode Exit fullscreen mode

10. Links

Top comments (0)

11 Tips That Make You a Better Typescript Programmer

typescript

1 Think in {Set}

Type is an everyday concept to programmers, but it’s surprisingly difficult to define it succinctly. I find it helpful to use Set as a conceptual model instead.

#2 Understand declared type and narrowed type

One extremely powerful typescript feature is automatic type narrowing based on control flow. This means a variable has two types associated with it at any specific point of code location: a declaration type and a narrowed type.

#3 Use discriminated union instead of optional fields

...

Read the whole post now!

👋 Kindness is contagious

Engage with a wealth of insights in this thoughtful article, valued within the supportive DEV Community. Coders of every background are welcome to join in and add to our collective wisdom.

A sincere "thank you" often brightens someone’s day. Share your gratitude in the comments below!

On DEV, the act of sharing knowledge eases our journey and fortifies our community ties. Found value in this? A quick thank you to the author can make a significant impact.

Okay