mirror of
https://github.com/alrayyes/wiki.git
synced 2024-11-25 21:16:21 +00:00
28 lines
688 B
Markdown
28 lines
688 B
Markdown
|
---
|
||
|
id: 32b0031a-0830-4e8c-a39c-3bf6d8791f84
|
||
|
title: JavaScript New Keyword
|
||
|
---
|
||
|
|
||
|
# Description
|
||
|
|
||
|
When you put the keyword `new` in front of a function call, the function
|
||
|
is treated as a constructor. An [object](20200826201605-objects) with
|
||
|
the proper [prototype](20201113091424-javascript_prototypes) is
|
||
|
automatically created, bound to `this` in the function and returned at
|
||
|
the end of the function. This allows you to do OO type stuff.
|
||
|
|
||
|
# Syntax
|
||
|
|
||
|
``` javascript
|
||
|
function Rabbit(type) {
|
||
|
this.type = type
|
||
|
}
|
||
|
Rabbit.prototype.speak = function(line) {
|
||
|
console.log(`The ${this.type} rabbit says '${line}'`)
|
||
|
};
|
||
|
|
||
|
let weirdRabbit = new Rabbit("weird")
|
||
|
|
||
|
weirdRabbit.speak("I want carrots!")
|
||
|
```
|