šŸ“™ Understanding Neuronal Networks presale is now open - 20% off discount!

Comparing the Javascript ‘hasOwn()’ method vs the ‘in’ operator

This post explores what are the differences between the in and hasOwn() in Javascript.

Even if they are both used for checking if an object has a given property, the biggest difference between these two is that in will return true for inherited properties, whereas hasown() will return false for inherited properties.

Let’s seen an example:

class Human {
  name
}

class Employee extends Human {
  salary
}

const obj = new Employee()

console.log("salary" in obj) // true
console.log(Object.hasOwn(obj, "salary")) // true

console.log("name" in obj) // true
console.log(Object.hasOwn("name")) // false

A few notes:

You can find here more details about the hasown() method and here more details about the in operator.

šŸ“– Neural Networks from Scratch - Presale

I'm writing a book about the timeless foundational concepts of neural networks for JavaScript developers. Go from if-else to weights and biases by building tiny AI models from scratch!

šŸ“– Neural Networks from Scratch - Presale

I'm writing a book about the timeless foundational concepts of neural networks for JavaScript developers. Go from if-else to weights and biases by building tiny AI models from scratch!


Leave a Reply

Your email address will not be published. Required fields are marked *