mirror of
https://github.com/alrayyes/wiki.git
synced 2024-12-01 15:26:23 +00:00
38 lines
869 B
Markdown
38 lines
869 B
Markdown
|
---
|
||
|
id: 7a97acf5-38db-40c9-b714-4293d88aa113
|
||
|
title: JavaScript Class Notation
|
||
|
---
|
||
|
|
||
|
# Introduction
|
||
|
|
||
|
By convention, the names of constructors are capitalized so that they
|
||
|
can easily be distinguished from other functions. Thanks to [ECMAScript
|
||
|
2015](https://ecma-international.org/ecma-262/6.0/) above can be
|
||
|
achieved with a saner notation:
|
||
|
|
||
|
# Example
|
||
|
|
||
|
``` javascript
|
||
|
class Rabbit {
|
||
|
constructor(type) {
|
||
|
this.type = type;
|
||
|
}
|
||
|
speak(line) {
|
||
|
console.log(`The ${this.type} rabbit says '${line}'`);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
let killerRabbit = new Rabbit("killer");
|
||
|
let blackRabbit = new Rabbit("black");
|
||
|
|
||
|
killerRabbit.speak("I want blood!");
|
||
|
blackRabbit.speak("For some reason I appreciate Tyler Perry movies");
|
||
|
```
|
||
|
|
||
|
If one **must** one can also use `class` in expressions:
|
||
|
|
||
|
``` javascript
|
||
|
let object = new class { getWord() { return "hello"; } };
|
||
|
console.log(object.getWord());
|
||
|
```
|