Skip to Content
Create Immutable Objects
shortcut

Create Immutable Objects

by Maximiliano Contieri
July 2024
Intermediate
5 pages
5m
English
O'Reilly Media, Inc.
Content preview from Create Immutable Objects

Create Immutable Objects

Immutable objects offer a powerful approach to building robust and predictable software, eliminating defects related to unintended state changes. Let’s explore the concept of immutability, understand its benefits, and discover how you can create immutable objects.

Once you create an immutable object, its essential state cannot be modified. You will no longer need to worry about hidden side effects or unintended consequences of modifying shared objects. This will make your code easier to understand, test, and debug.

Immutable objects eliminate race condition risks in concurrent environments, as their state cannot be altered by any thread. If you create immutable objects you will have better code clarity and reduced complexity. When you know that an object’s state won’t change unexpectedly you can reason about its behavior with confidence, knowing they will stand the test of time.

The first step to creating immutable objects is to identify which behaviors and attributes are essential.

Here, a JavaScript geographic coordinate’s essential attributes are the latitude and longitude:

class Coordinate { constructor() { } setLatitude(latitude) { this.latitude = latitude; } setLongitude(longitude) { this.longitude = longitude; } toString() { return `Latitude: ${this.latitude}, Longitude: ${this.longitude}`; } } const fireLocation = new Coordinate(-34.6037, -58.3816); console.log(fireLocation.toString()); ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Convert If Sentences to Hierarchies

Convert If Sentences to Hierarchies

Maximiliano Contieri
Refactor Tests

Refactor Tests

Maximiliano Contieri

Publisher Resources

ISBN: 9781098172541