[Javascript] Primitive value are immutable

Primitive Values
  • Undefined (undefined), used for unintentionally missing values.
  • Null (null), used for intentionally missing values.
  • Booleans (true and false), used for logical operations.
  • Numbers (-1003.14, and others), used for math calculations.
  • Strings ("hello""abracadabra", and others), used for text.
  • Symbols (uncommon), used to hide implementation details.
  • BigInts (uncommon and new), used for math on big numbers.

There is a old bug in Javascript which is typeof(null) === 'object', null is primitive value actually, but we have to live with this bug, fix it will break the world.

Primitive are immutable!

let reaction = 'yikes';
reaction[0] = 'l';
console.log(reaction);

What's the output of console log?

The Answer is:

yikes

In 'strict mode'; it will throw an error for that.

A String is a primitive value, and that means a great deal! All primitive values are immutable. Which means it is unchangeable, read-only. You can't mess with primitive values. AT ALL!


Variables are not values, Variable point to values

let pet = 'Narwhal';
pet = 'The Kraken';
console.log(pet);

What's the output again?

The Answer is:

// "The Kraken"

But what about Primitive value are immutable? 

Yes, but here, we assign to 'pet' variable. We can change 'pet' variable to "The Kraken".

猜你喜欢

转载自www.cnblogs.com/Answer1215/p/12327114.html