JavaScript Classes: Difference between revisions
Line 36: | Line 36: | ||
console.log(Rectangle.name); | console.log(Rectangle.name); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=Syntax Elements= | |||
==Body== | |||
The body of a class is contained within curly braces {...}. It contains class members: constructor and methods. | |||
===Constructor=== | |||
===Prototype Methods=== | |||
===Static Methods=== |
Revision as of 23:12, 21 January 2020
External
Internal
Overview
A JavaScript class is a syntactical superstructure in top of the language's existing prototype-based inheritance, and it does not introduce a new object-oriented inheritance model in JavaScript. A class is a special function, so like in the functions' case, a class syntax has two components: declarations and expressions.
Class Hoisting
An important difference between function declaration and class declaration is that function declaration and hoisted, while the class declarations are not: you first need to declare the class and then access it, otherwise a ReferenceError is thrown.
Declaration
Use the class
keyword:
class Simplest {
constructor(content) {
this.content = content;
}
}
Class Expression
A class expression is another way to define a class, and it can be named or unnamed. The name given to a named expression is local to the class' body. It can be retrieved through the class' and not an instance's name property.
let Simplest = class {
constructor(content) {
this.content = content;
}
}
console.log(Rectangle.name);
Syntax Elements
Body
The body of a class is contained within curly braces {...}. It contains class members: constructor and methods.