[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".

posted @ 2020-02-18 17:24  Zhentiw  阅读(227)  评论(0)    收藏  举报