Objects are always passed by reference.
If you assign a variable the same value of another, if it’s a primitive type like a number or a string, they are passed by value:
Take this example:
let age = 36
let newAge = age
newAge = 37
console.log(age) //36
With primitive types, the copy is an entirely new entity. With objects instead, you copy a reference to the same object:
const car = {
color: "blue",
}
const anotherCar = car
anotherCar.color = "yellow"
car.color //'yellow'
Remember that also arrays and functions are objects, so they are passed by reference, too.