https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_b964594d3d957944241961017b9eb19bf02834de44cce93d8e67dd306852dbe346167181e455e33d5268ea01d973d77bb056848546f31794f31a4c31a9da5aa3.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_23f1ae74c634d7e5e0a067c22b7a8c2d79c3ffd9a3b9395fc82c1b3b99635552b994f1f72f532f28ceaff1ea054ea026cd488cd62fa03a4ad91d212b5f3c5a72.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_451c3884f51125f7687e5bb07cfab033c04cb7174c33f93213b2af4bad2af13cf48b92a7fa95fc86d7d436f355938a3ac50aa119cdb7c9b6d5a52815c3e6033e.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_bfff9e63e857e9ee612e292d4a6edf3ced64d6a756925c953a9d8f77845ff601eca64d73dfa48756b1a9f4a4d6de6127a273bcde16ddeb71a22383460f4e94b0.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_f4dd7e1d73ae5eda35ed5ad6aa965b612dbf483ece3ca50c1e8e30ad8dff1c66a160ed75e958e2db399661d229874783e0834ad813a479437035666b8e9e3386.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_4fce0769137d4cd096989b0349bc3c2bbfca79ac311fdf714c41ab24d87551c7b49b756c8a8de090b0714a0ad0560e49fa532ba5a88875ea4afd78efac464df6.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_85cec8b07d60426b11040e471babca0d2f9c8dc87a9b56e06cad39828f7f67179e29609100f282a574872c9a93fb635b25416300eb4c97bc5a653d00cf6f8dbf.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_6768e5a27d4d357347338621c0d20bd269b126d30eec796193390f2f530fbaea60af84130c46f9786114be65149e661e87d55c339219c90aa76396d7e5b734ef.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_2acd6bdff3b680341e8c727da5169a647123eb8fd0a90253161b4c3af272c15d293bf9bb217008bb13f84d1910b0e166798001f8603b6c026d5c20a76c41d47c.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_4b1b4622664377df5ded3fa526cab90513e33b1920da2313ddeae488e00bfd5b3b72eb1a56add0990fe1e575a935e36e442343431eb561c92b94cc419ebb5f18.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_268c9bba6ba649318f0da28c37b09a9bbfa371210f9b6b52faa7fd8ae94abf6b3c3bfeb5df5705c93495ce1152ca58aeabc435d6c6c1bd959025165c3f50e086.js
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer
  • Home
  • Featured
    • Advanced Python Topics
    • AWS Learning Roadmap
    • JWT Complete Guide
    • Git CheatSheet
  • Explore
    • Programming
    • Development
      • microservices
      • Front End
    • Database
    • DevOps
    • Productivity
    • Tutorial Series
      • C# LinQ Tutorials
      • PHP Tutorials
  • Dev Tools
    • JSON Formatter
    • Diff Checker
    • JWT Decoder
    • JWT Generator
    • Base64 Converter
    • Data Format Converter
    • QR Code Generator
    • Javascript Minifier
    • CSS Minifier
    • Text Analyzer
  • About
  • Contact
CodeSamplez.com

CodeSamplez.com

Programming And Development Resources

You are here: Home / Programming / JavaScript Classes: The Essential OOP Concept in Javascript

JavaScript Classes: The Essential OOP Concept in Javascript

Updated May 17, 2025 by Rana Ahsan 3 Comments ⏰ 7 minutes

javascript classes

JavaScript has absolutely revolutionized modern web development. It’s everywhere nowadays – from browser-based applications to server-side development with Node.js, and even powering mobile apps through frameworks like React Native. But many developers still struggle with organizing their JavaScript code effectively, often relying on functional approaches that can lead to messy, hard-to-maintain codebases.

I’ve been there myself. For years, I wrote spaghetti code that worked but was a nightmare to update or expand. Then I discovered the power of JavaScript classes, which completely transformed how I structure my code. In this guide, I’ll show you everything you need to know about JavaScript classes to write cleaner, more maintainable code.

Why Learn about JavaScript Classes?

Before ES6 introduced the class keyword in 2015, writing object-oriented JavaScript was possible but awkward. Today, classes are an essential tool in every JavaScript developer’s toolkit. They provide:

  • Better code organization – Group related functionality together
  • Improved maintainability – Make your code easier to update and debug
  • Enhanced reusability – Create components you can use throughout your application
  • Clearer mental model – Structure your code in a way that’s intuitive for most developers

Modern frameworks like React, Angular, and Vue heavily utilize class concepts, making them fundamental knowledge for any serious JavaScript developer.

Creating Your First JavaScript Class

The class keyword makes defining classes straightforward:

class Person {
  constructor(firstName, lastName) {
    this.firstName = firstName;
    this.lastName = lastName;
  }
  
  getFullName() {
    return `${this.firstName} ${this.lastName}`;
  }
}

// Creating an instance
const john = new Person("John", "Doe");
console.log(john.getFullName()); // Outputs: "John Doe"Code language: JavaScript (javascript)

The constructor method is called automatically when you create a new instance with the new keyword. It’s where you initialize properties specific to each instance.

Understanding the Legacy Approach (Pre-ES6)

While the modern syntax is cleaner, understanding the legacy approach helps you work with older codebases and deepens your JavaScript knowledge:

function Person(firstName, lastName) {
  this.firstName = firstName;
  this.lastName = lastName;
}

// Methods are added to the prototype
Person.prototype.getFullName = function() {
  return this.firstName + " " + this.lastName;
};

// Creating an instance
var john = new Person("John", "Doe");
console.log(john.getFullName()); // Outputs: "John Doe"Code language: JavaScript (javascript)

In this approach, the constructor function serves dual purposes – defining the class and initializing instances. Methods are typically added to the prototype for memory efficiency.

Properties in JavaScript Classes

Classes can have two types of properties:

Instance Properties

Instance properties are unique to each object instance:

class Product {
  constructor(name, price) {
    this.name = name; // Instance property
    this.price = price; // Instance property
    this.timestamp = Date.now(); <em>// Automatically generated instance property</em>
  }
}

const product1 = new Product("Laptop", 999);
const product2 = new Product("Phone", 699);

console.log(product1.name); // "Laptop"
console.log(product2.name); // "Phone"Code language: JavaScript (javascript)

Static Properties

Static properties belong to the class itself, not individual instances:

class MathUtils {
  static PI = 3.14159;
  static MAX_VALUE = 1000;
  
  static square(x) {
    return x * x;
  }
}

console.log(MathUtils.PI); // 3.14159
console.log(MathUtils.square(4)); // 16Code language: JavaScript (javascript)

Static properties and methods are accessed directly on the class, not on instances.

Private Fields and Methods

One of the biggest limitations in early JavaScript classes was the lack of true privacy. Now, with modern JavaScript, we have private fields using the # prefix:

class BankAccount {
  #balance = 0; // Private field
  
  constructor(initialDeposit) {
    if (initialDeposit > 0) {
      this.#balance = initialDeposit;
    }
  }
  
  deposit(amount) {
    if (amount > 0) {
      this.#balance += amount;
      return true;
    }
    return false;
  }
  
  getBalance() {
    return this.#balance;
  }
}

const account = new BankAccount(100);
console.log(account.getBalance()); // 100
// console.log(account.#balance); // Error: Private fieldCode language: PHP (php)

Private fields are only accessible within the class, enhancing encapsulation.

Getters and Setters

Getters and setters provide controlled access to properties:

class Employee {
  constructor(firstName, lastName, birthDate) {
    this.firstName = firstName;
    this.lastName = lastName;
    this._birthDate = new Date(birthDate);
  }
  
  get fullName() {
    return `${this.firstName} ${this.lastName}`;
  }
  
  get age() {
    const today = new Date();
    let age = today.getFullYear() - this._birthDate.getFullYear();
    const monthDiff = today.getMonth() - this._birthDate.getMonth();
    
    if (monthDiff < 0 || (monthDiff === 0 && today.getDate() < this._birthDate.getDate())) {
      age--;
    }
    
    return age;
  }
  
  set birthDate(date) {
    if (date > new Date()) {
      throw new Error("Birth date cannot be in the future");
    }
    this._birthDate = new Date(date);
  }
}

const emp = new Employee("Jane", "Smith", "1990-05-15");
console.log(emp.fullName); // "Jane Smith"
console.log(emp.age); // Calculates age dynamically

emp.birthDate = "1995-10-20"; // Uses the setterCode language: JavaScript (javascript)

Getters are accessed like properties but execute a method, allowing for computed properties. Setters enable validation before setting values.

Inheritance with JavaScript Classes

Inheritance lets you create specialized classes based on more general ones:

class Vehicle {
  constructor(make, model, year) {
    this.make = make;
    this.model = model;
    this.year = year;
  }
  
  getInfo() {
    return `${this.year} ${this.make} ${this.model}`;
  }
  
  startEngine() {
    return "Engine started";
  }
}

class Car extends Vehicle {
  constructor(make, model, year, doors) {
    super(make, model, year); // Call parent constructor
    this.doors = doors;
  }
  
  // Override parent method
  startEngine() {
    return `${super.startEngine()} with push button`;
  }
  
  // Add new method
  honk() {
    return "Beep beep!";
  }
}

const myCar = new Car("Honda", "Accord", 2023, 4);
console.log(myCar.getInfo()); // "2023 Honda Accord"
console.log(myCar.startEngine()); // "Engine started with push button"
console.log(myCar.honk()); // "Beep beep!"Code language: JavaScript (javascript)

The extends keyword establishes inheritance, and super calls the parent class’s constructor or methods. Learn about Javascript Inherience more in depth.

Using Composition with Classes

While inheritance is powerful, composition often provides more flexibility:

class Engine {
  start() {
    return "Engine running";
  }
  
  stop() {
    return "Engine stopped";
  }
}

class Radio {
  turnOn() {
    return "Radio playing";
  }
  
  turnOff() {
    return "Radio off";
  }
}

class Car {
  constructor() {
    this.engine = new Engine();
    this.radio = new Radio();
  }
  
  startCar() {
    return this.engine.start();
  }
  
  playMusic() {
    return this.radio.turnOn();
  }
}

const myCar = new Car();
console.log(myCar.startCar()); // "Engine running"
console.log(myCar.playMusic()); // "Radio playing"Code language: JavaScript (javascript)

Instead of inheriting functionality, composition embeds objects within other objects, creating more flexible relationships.

Best Practices for Using JavaScript Classes

To get the most from JavaScript classes:

  1. Keep classes focused – Each class should have a single responsibility
  2. Use descriptive naming – Class names should be nouns, method names should be verbs
  3. Consider composition over inheritance – Inheritance creates tight coupling; composition is often more flexible
  4. Keep inheritance hierarchies shallow – Deep inheritance chains become hard to understand
  5. Document your classes – Use JSDoc comments to document parameters, return values, and class purpose
  6. Test your classes – Write unit tests to verify class behavior

Real-World Example: Building a Shopping Cart

Let’s put everything together with a practical example:

class Product {
  constructor(id, name, price) {
    this.id = id;
    this.name = name;
    this.price = price;
  }
}

class CartItem {
  constructor(product, quantity = 1) {
    this.product = product;
    this.quantity = quantity;
  }
  
  get subtotal() {
    return this.product.price * this.quantity;
  }
}

class ShoppingCart {
  #items = [];
  
  addItem(product, quantity = 1) {
    const existingItem = this.#items.find(item => item.product.id === product.id);
    
    if (existingItem) {
      existingItem.quantity += quantity;
    } else {
      this.#items.push(new CartItem(product, quantity));
    }
  }
  
  removeItem(productId) {
    const index = this.#items.findIndex(item => item.product.id === productId);
    if (index !== -1) {
      this.#items.splice(index, 1);
      return true;
    }
    return false;
  }
  
  updateQuantity(productId, quantity) {
    if (quantity <= 0) {
      return this.removeItem(productId);
    }
    
    const item = this.#items.find(item => item.product.id === productId);
    if (item) {
      item.quantity = quantity;
      return true;
    }
    return false;
  }
  
  getItems() {
    return [...this.#items]; // Return a copy to prevent direct manipulation
  }
  
  get total() {
    return this.#items.reduce((sum, item) => sum + item.subtotal, 0);
  }
  
  clear() {
    this.#items = [];
  }
}

// Usage example
const laptop = new Product(1, "Laptop", 999);
const phone = new Product(2, "Smartphone", 699);

const cart = new ShoppingCart();
cart.addItem(laptop);
cart.addItem(phone, 2);

console.log(cart.getItems());
console.log(`Total: $${cart.total}`); // Total: $2397Code language: PHP (php)

This shopping cart example demonstrates class composition, private fields, getters, and business logic encapsulation.

Conclusion

JavaScript classes give you powerful tools to organize your code better. Whether you’re working with React components, Node.js services, or vanilla JavaScript, understanding classes will make you a more effective developer. Learn more on MDN Documentations.

Remember, classes aren’t always the right solution – JavaScript’s functional approaches are still valuable. But having classes in your toolkit gives you more options for structuring maintainable code.

Happy coding!

Share if liked!

  • Click to share on Facebook (Opens in new window) Facebook
  • Click to share on X (Opens in new window) X
  • Click to share on LinkedIn (Opens in new window) LinkedIn
  • Click to share on Pinterest (Opens in new window) Pinterest
  • Click to share on Reddit (Opens in new window) Reddit
  • Click to share on Tumblr (Opens in new window) Tumblr
  • Click to share on Pocket (Opens in new window) Pocket

You may also like


Discover more from CodeSamplez.com

Subscribe to get the latest posts sent to your email.

First Published On: October 19, 2014 Filed Under: Programming Tagged With: javascript, oop

About Rana Ahsan

Rana Ahsan is a seasoned software engineer and technology leader specialized in distributed systems and software architecture. With a Master’s in Software Engineering from Concordia University, his experience spans leading scalable architecture at Coursera and TopHat, contributing to open-source projects. This blog, CodeSamplez.com, showcases his passion for sharing practical insights on programming and distributed systems concepts and help educate others.
Github | X | LinkedIn

Reader Interactions

Comments

  1. sachin says

    November 5, 2014 at 1:24 AM

    Ali, I have gone through your post and it really helped me alot. Still i have some queries, Can you please tell me about overriding Native Object Methods. Looking for your quick response.

    Reply
    • Md Ali Ahsan Rana says

      November 7, 2014 at 9:55 PM

      As you may already know from my comment on this post, javascript isn’t built in traditional object oriented way. Same way, overriding doesn’t exist by default here. But you can simulate it by assigning the function to your own definition. Such as “JSON.stringify = function(){ return ‘whatever’;};” will change the native ‘stringify’ method. Check this link: http://jsbin.com/moratunece/2/edit?js,output . Hope this helps!

      Reply

Trackbacks

  1. Javascript Inheritance And Static Method - CodeSamplez says:
    October 11, 2024 at 12:35 PM

    […] is a follow-up article to my earlier post on JavaScript class basics. There are a few more things that we actually need to dive into object-oriented programming in […]

    Reply

Leave a ReplyCancel reply

Primary Sidebar

  • Facebook
  • X
  • Pinterest
  • Tumblr

Subscribe via Email

Top Picks

python local environment setup

Python Local Development Environment: Complete Setup Guide

In-Depth JWT Tutorial Guide For Beginners

JSON Web Tokens (JWT): A Complete In-Depth Beginners Tutorial

The Ultimate Git Commands CheatSheet

Git Commands Cheatsheet: The Ultimate Git Reference

web development architecture case studies

Web Development Architecture Case Studies: Lessons From Titans

static website deployment s3 cloudfront

Host Static Website With AWS S3 And CloudFront – Step By Step

Featured Dev Tools

  • Diff Checker
  • JSON Formatter

Recently Published

service worker framework integration

Service Workers in React: Framework Integration Guide

service worker caching strategies

Service Worker Caching Strategies: Performance & Offline Apps

service worker lifecycle

Service Worker Lifecycle: Complete Guide for FE Developers

what is service worker

What Is a Service Worker? A Beginner’s Guide

Dynamic Typing In Python

Dynamic Typing in Python: A Comprehensive Guide For Beginners

Footer

Subscribe via Email

Follow Us

  • Facebook
  • X
  • Pinterest
  • Tumblr

Explore By Topics

Python | AWS | PHP | C# | Javascript

Copyright © 2025

https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_ac440bfde403b0413ba00d5de9fc4ac9cf8bb92f15cc0e12a3fda13e8db7bb5be6a16a2914b585c3d2ae33446191088a4692660979b7f82d623146ae737c3fcd.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_c402e38f1879c18090377fb6b73b15ac158be453ecda3a54456494fe8aba42b990c293bae5424e5643d52515ffc2067e0819995be8d07d5bba9107a96780775c.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_ffc3511227531cc335353c54c3cbbaa11d0b80e5cb117478e144436c13cd05495b67af2e8950480ed54dbdabcdcef497c90fdb9814e88fe5978e1d56ce09f2cf.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_d57da9abfef16337e5bc44c4fc6488de258896ce8a4d42e1b53467f701a60ad499eb48d8ae790779e6b4b29bd016713138cd7ba352bce5724e2d3fe05d638b27.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_edc0e9ef106cc9ef7edd8033c5c6fcff6dc09ee901fd07f4b90a16d9345b35a06534f639e018a64baaf9384eee1df305570c1ecad747f41b787b89f53839962b.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_bc2182bb3de51847c8685df18692deda654dbf90fb01b503eb1bb0b68b879a051b91f30a9210ed0b2ba47c730db14b159cd9391ffdcd7117de397edd18366360.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_dccc492dbbfdac33d1411f9df909e849c7268fcf99b43007f278cde3a0adc0ae00e8cae5ec81cf255b9a6eae74e239ba1fa935572af77173219cb081f7d2327d.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_00bacf9e36181aac2b666d110cd9d82257f846766e7041b2d7b3c909b458982931ccc9b203e37098fbdfcf43ca359cf04e3824a724a6789fc204196d3a72ad29.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_72f0b62bed031ab40ba0732e51c1482fae942c3f12daad4527211dfb7ee662854d62bb9a0ff7309f7c871a3fb3a754dd50c231d8778d644045da26abc2e3b419.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_aa5a5d229b421633f4247380e1e8c0a4854f82efb35d13a5b07b7b8fbe22e98842a580f063e5965345a51c477a7f5c2585edf8dd7d896b2438dc61f91d8d970c.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_bb8058a9e234a7ffaa98891b1df7f6b8e67410e6984568b151daa05113b8c7f89d7b5918ae73f020998a16f7f5a087a13d6a9a5e5d7c301e2ca12fd9d1f8d177.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_647fb67570c6108fb10ae6785a1abdbecac99ffcf80351d0bef17c3cf783dce497b1895fcdaae997dacc72c359fbfb128cc1540dd7df56deb4961e1cd4b22636.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_f7a298a0f1f754623fe3b30f6910ce2c1373f715450750bd7a391571812b00df1917e2be90df6c4efc54dbdfda8616278a574dea02ba2c7a31992768df8db334.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_df30604d5842ef29888c3c1881220dc6d3f8854666d94f0680c5f38aa643c5fb79b10eb9f10998d8856eb24ca265783195937434fd6c2bb8e4846df0277a7fb7.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_f17fe6fb0993f1703181d7ae9e9ea570f3d33a43afd6f2a4567daa1a6745698c7b8193dc72d50991d2dd87cd3dcf663959206607d193a9b57926d061a1f50aef.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_945dcbab2c2a131f3c90f4fb91776b76066d589f84fb55bff25cd5d79a56218000616bfca1f0af9a74f32348693707af49e8fe624de8aa34f1e1c5b6a25709cf.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_65820d252e1b93596de6697fd5f02483f3e2524a0696c7d698b64745edb32bf5831a90e556842f5f88c8209766cc78ca3a41cf783d20236a9f90d4a7ea7b3e72.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_7286884797a1210857e2a36f8ab46604b0034b6abf512380447a5763c873db6a72b8547f660053de0ea69faef1eb64878f39ff4b0ea86c963efab95764a3bf5b.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_cbcf6c279ac6c6a25ae138bf964e64a5fd90d22dcdf8a53b6fe7b72cefa51063bfb0181a6e50dd2acdcae2795619887d1d83b10461e44e5103be756f2588d837.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_47965bc586b95810c925b9df3314e0c9a5cd121e70ca0831f87df0bc034695de4f83ecf2def86f737e14614ee138794473cf32cd3082a5d38db9dec0c1f266fa.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_12aa201cea075846d266536aa222d64d4088b851d87f55dac5e611b77add6826c8ebc6e82650fcd1a9e88a05a0072dedd195719c5f64cd4580a0acd8aee05d92.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_eaa93529c38925eb07368c361382956fbd910b5106b8589fa7e2e15a59c46437de3698d50ec4754bc45e6dfac47b3f41cc4c6112d7ede071ca8950385d4987dc.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_f6ee1333b49004dacc07e5e868f72312188ade2e3c44acc73e0169e6c81cfca86a1b20568c79b48795201fa2c342fc5d10035b84e3e693981f274da11c78b7dd.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_d87ea86dd0e7ecdd5fe7a5bb67becf943e57c3add866b456034d51663d099031bd563e12f61fdccc044969adf938a8584ed22ccd401ab8b669e20e4f92fb54e8.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_35311c3d71a3605fad4e1d6b50f3911311cdcc46418bdf56d6d0308a75a69585269ee7582a335e29989adf308fa1a81a10a2c2d4e257e9d680447a4996f6269e.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_f4fc182ef03c12e9dcadd6febc3dbaa4a29134469057ca9e8ec0be2f2de29a494514ff4b59798e74debf26f78b2df2b3e2665c69b77035761fb463b783202915.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_85c0f2769456e60153b0fd8364b82a035da53384f62de342d9bdca806f3f1ea56486919a00497a18d457949c82bf8bfacc4423fc332074ddf71a49a8fe628fff.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_67f99bef3678c549a14b5f2ff790cce6aba338dca29020755444231b45fa0f980f795e3658496ba70739a099b47b22bc2eab564343ac6132309de3adbbae3455.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_09eecfdd96206ed13830b4b93cfb2cc75cd38083671a34194437b5734b5bb38712209dc335b07e3266ceb3c3a44a155b9bbe5f3e0e1105b19dd45d3def76f020.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_4c089fbdb88e3b624a6f884d3ba1bf606f003bfcd3742376d0d353cd62181dc663aa3811a56361c3100de488fc4d6595a50de2b26f058921ba74f5f2c1b5be00.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_897ff6ac314c5f5e0f496c6af624bd9abf296a02cb5aeb850b9220b6dc3ce2fc4004cb02ed8b59d59d4b9c9d90f050d6eebc1d08ecaebab2f671f7d9367e6410.js
https://codesamplez.com/wp-content/cache/breeze-minification/js/breeze_mobile_67d1e619e71d36ae00ddcf85ee18628bb4eb64fcb3d6119b463e75cb987013420a21136d19cd03e6634ccc01cfa9af4a357930e4cf6900953b7812efb4f249fb.js