I've been doing a lot of research on this topic for over 2 weeks now and I'm only asking the question because MDN's documentation on mutability says only arrays and objects are not primitive values and of course that's true, they have reference values.
However, I thought functions, string object, Date, and RegEx also had reference values because they are also non-primitives.
For example if we use slice() on a string primitive, javascript will automatically convert(reassign) it to a string object and now it's mutable as the word 'snow' becomes 'know' through reassignment. This won't work with const because it disables reassignment.
let word = 'snow'
console.log(word) // "snow"
word = `k${word.slice(1)}`
console.log(word) // "know"
So I'm guessing either MDN is wrong or a lot of other resources like dotnettricks and even a few javascript certifications guides are wrong...