- Write JavaScript
static
methods
In this lab, we are going to practice writing static
methods. In JavaScript,
static methods aren't called on on instances of a class, but are called
directly on a class itself.
To declare a static
method, we write the word static
inside the class
declaration directly before a method's name:
class StaticMethod {
static methodName() {
console.log('My method is static!');
}
}
Because static
methods are called directly on the classes themselves, static
methods have no access to data stored in specific objects.
As the static
method is operating on the class, you call the static
method
directly on the class.
ClassName.methodName();
// Calls the method explicitly on the class name itself and returns the `static` value
For static
methods, this
references the class. This means that you can call
a static
method from within another static
method of the same class using
this
.
You are going to write three static
methods in the Formatter
class. Write
your code in the index.js
file. Let the tests guide you through the process.
- Write a method
static capitalize
that takes in a string and capitalizes the first letter. - Write a method
static sanitize
that takes in a string and removes all non-alphanumeric characters except for dashes, single quotes and spaces. - Write a method
static titleize
that takes in a string and capitalizes all words in a sentence except the, a, an, but, of, and, for, at, by, and from; and always capitalizes the first word.
Static
methods are useful ways to create utility methods for your data. If you
have operation that you need do perform on a batch of data (say, capitalize all
of the headlines on your website, as above), static
methods are your go-to
tool. Since they are called on the class but don't have access to individual
objects, they are somewhat limited in their scope, but can be very powerful in
the correct application.