Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
August 25, 2021 03:25 am GMT

Code Smell 86 - Mutable Const Arrays

Const declares something to be constant. Can it mutate?

TL;DR: Don't rely on languages cheating about directives.

Problems

  • Unexpected side effects.

  • Accidental complexity.

Solutions

  1. Use better languages

  2. Use spread operator

Sample Code

Wrong

const array = [1, 2];array.push(3)//array => [1, 2, 3]//Wasn't it constant ?//constant != immutable ?

Right

const array = [1, 2];const newArray = [...array,3 ]//array => [1, 2] Didn't mutate//newArray = [1, 2, 3]

Detection

Since this is a "language feature", we can explicitly forbid it.

Tags

  • Mutability

  • JavaScript

Conclusion

We should always favour immutability on our designs and take extra care with side effects.

More Info

Credits

Photo by Zorik D on Unsplash

Thank you, @oliverjumpertz for this tip.

Correctness is clearly the prime quality. If a system does not do what it is supposed to do, then everything else about it matters little.

Bertrand Meyer

This article is part of the CodeSmell Series.


Original Link: https://dev.to/mcsee/code-smell-86-mutable-const-arrays-46ag

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To