wiki/content/20201008090316-class_notation.md

37 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());
```