Keep in mind, particularly with objects and arrays you can achieve immutability with object and array spread operators respectively as follows :
With objects:
let a = {x: 1}
let b = {...a}
b.x = 2;
console.log(a.x) // still x === 1
With arrays :
let a = ["one"]
let b = [...a]
b[0] = "two";
console.log(a.x) // still outputs as "one"
Cheers !