Save up to 80 % on our PHP e-learning courses. Only this week!
Get up to 40 % extra points for free! More info

Lesson 13 - Static members in JavaScript

In the previous lesson, Object Properties in JavaScript - Accessor Descriptors, we finished object properties. Today we're going to focus on the concept of static members. Until now, we only used data, states, being carried by an instance. Properties, which we've defined, belonged to an instance and were unique to each instance. OOP, however, allows us to declare properties and methods on a class itself. We call these members static, sometimes called class members, who are independent of an instance.

Beware of static membersWARNING! Today's lesson will show you that static members are approaches that actually violate the object-oriented principles. OOP includes them only for special cases and in general everything can be written without static members. We always have to think carefully before adding static members. Generally, I would recommend for you not to use static members ever, unless you're absolutely sure what you're doing. Like global variables, static members are something that enable you to write bad code and violate good practices. Today, we'll go over this topic just to make you understand. Use this knowledge wisely, there will be less evil in the world.

Static Properties

We can declare various elements as static, let's start with properties. As I mentioned in the introduction, static elements belong to a class, not to an instance. So the data stored there can be read even if an instance of the class has not been declared. Basically, we could say that static properties are shared among all class instances, but even that wouldn't be accurate since they aren't actually related to instances.

Let's create a new folder (e.g. static/) and create a simple User class:


...End of the preview...

Premium article

Premium article is a large database made up of manuals and tutorials, whose main goal is to provide high-quality IT education to everyone. We started out in the Czech republic, where we display roughly a million articles per month and receive plenty of gratitude from our users. Thanks to our successful establishment, we are now bringing these articles to the rest of the world.

Although we are trying to keep our content free of charge, maintaining the site is a huge effort for everyone involved. Therefore, some content (exercises and more advanced material) costs network points. Don't worry, they're really cheap :)

Article description

Requested article covers this content:

In today's lesson we will look at the implementation of statics in JavaScript and demonstrate its use on a practical example.

Limited offer: Learn all knowledge and save money

Buy articles and tests separately one by one 80 points
Buy all currently available articles in the section including all features for an exclusive price 68 points
Currently, you have 0 points
By buying this exclusive package, you'll have access to all 18 articles in this course including exercise submitting while saving $1.08. This offer is limited for the first articles only with an additional exclusive 15% discount.
You gain 68 points for adding an article to the site, or for $7.20 $6.12

Warning, by buying just this article you'll lose the limited 15% discount for the package of all the articles.

To access the article, you need 10 points
Currently, you have 0 points
You gain 10 points for adding an article to the site, or for $0.90

Buying this article gives you unlimited access to it forever. You will learn some more and help us keep giving our site maintenance which helps you and others get better futures. It's a win-win.

This article is licensed: Premium, by buying this article, you agree with the terms of use.

You gain points by supporting our network. This is done by sending a helpful amount of money to support the site, or by creating content for the network.

You can get points immediately using:

Credit card SMS Wire transfer
Credit card SMS Wire transfer
Article has been written for you by Šimon Raichl
Activities (4)