wiki/content/20201113091424-javascript_prototypes.md

915 B

date id title
20201113 fd03be0e-a4c0-421f-9dd7-1bddc9dece65 JavaScript Prototypes

Description

A prototype can be seen as an object another object extends.

Syntax

let protoRabbit = {
  speak(line) {
    console.log(`The ${this.type} rabbit says '${line}'`); // : The killer rabbit says 'SKREEEE!'
  },
};
let killerRabbit = Object.create(protoRabbit);
killerRabbit.type = "killer";
killerRabbit.speak("SKREEEE!");

Object.prototype

Most objects in JavaScript eventually extend Object.prototype through parent prototype objects or directly, which provides a bunch of default methods1.

console.log(Object.getPrototypeOf({}) == Object.prototype); // true
console.log(Object.getPrototypeOf(Object.prototype)); // null

Footnotes