JavaScript Classes: Difference between revisions
Line 26: | Line 26: | ||
=Class Expression= | =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. | |||
<syntaxhighlight lang='js'> | |||
let Simplest = class { | |||
constructor(content) { | |||
this.content = content; | |||
} | |||
} | |||
console.log(Rectangle.name); | |||
</syntaxhighlight> |
Revision as of 23:07, 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);