Loading lesson path
ECMAScript 2015, also known as ES6, introduced JavaScript Classes. JavaScript Classes are templates for JavaScript Objects.
Use the keyword class to create a class.
Syntax class ClassName {
constructor() { ... }
}class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
}
The example above creates a class named "Car".
The class has two initial properties: "name" and "year".A JavaScript class is not an object. It is a template for JavaScript objects.
When you have a class, you can use the class to create objects:
const myCar1 = new Car("Ford", 2014);
const myCar2 = new Car("Audi", 2019);Car objects. The constructor method is called automatically when a new object is created.
The constructor method is a special method: It has to have the exact name "constructor" It is executed automatically when a new object is created
If you do not define a constructor method, JavaScript will add an empty constructor method.
Class methods are created with the same syntax as object methods. Use the keyword class to create a class.
method. Then add any number of methods.
Syntax class ClassName {
constructor() { ... }
method_1() { ... }
method_2() { ... }
method_3() { ... }
}
Create a Class method named "age", that returns the Car age:class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
age() {
const date = new Date();
return date.getFullYear() - this.year;
}
}
const myCar = new Car("Ford", 2014);
document.getElementById("demo").innerHTML =
"My car is " + myCar.age() + " years old.";You can send parameters to Class methods:
class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
age(x) {
return x - this.year;
}
}
const date = new Date();
let year = date.getFullYear();
const myCar = new
Car("Ford", 2014);
document.getElementById("demo").innerHTML=
"My car is
" + myCar.age(year) + " years old.";
"use strict"The "use strict" Directive. You will get an error if you do not follow the "strict mode" rules.
In "strict mode" you will get an error if you use a variable without declaring it:
class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
age() {
// date = new Date(); // This will not work const date = new Date(); // This will work return date.getFullYear() - this.year;
}
}