Published
Edited
Mar 15, 2022
Insert cell
Insert cell
Insert cell
class ClassWithInstanceField {
instanceField = 'instance field'
}
Insert cell
(new ClassWithInstanceField()).instanceField
Insert cell
class ClassWithStaticField {
static staticField = 'static field'
}
Insert cell
ClassWithStaticField.staticField
Insert cell
class SubClassWithStaticField extends ClassWithStaticField {
static subStaticField = 'sub class field'
}
Insert cell
[SubClassWithStaticField.subStaticField, SubClassWithStaticField.staticField]
Insert cell
class ClassWithPublicInstanceMethod {
publicMethod() {
return 'hello world'
}
}
Insert cell
(new ClassWithPublicInstanceMethod()).publicMethod()
Insert cell
class SubClasswithPublicInstanceMethod extends ClassWithPublicInstanceMethod {
subPublicMethod () {
return 'hello subPublicMethod'
}
subPublicMethodUsingBase () {
return 'sub ' + super.publicMethod()
}
}
Insert cell
{
const instance = new SubClasswithPublicInstanceMethod();
return [instance.subPublicMethod(), instance.subPublicMethodUsingBase()]
}
Insert cell
Insert cell
class ClassWithPrivateField {
#privateField;
}
Insert cell
class ClassWithPrivateMethod {
#privateMethod() {
return 'hello world';
}
}
Insert cell
class ClassWithPrivateStaticField {
static #PRIVATE_STATIC_FIELD;
}
Insert cell
class ClassWithPrivateStaticMethod {
static #privateStaticMethod() {
return 'hello world';
}
}
Insert cell
Insert cell
calculatorMixin = Base => class extends Base {
calc() { return 'calc'}
};

Insert cell
randomizerMixin = Base => class extends Base {
randomize() { return 'randomize' }
};
Insert cell
class Foo { }
Insert cell
class Bar extends calculatorMixin(randomizerMixin(Foo)) { }

Insert cell
(new Bar()).calc()
Insert cell
(new Bar()).randomize()
Insert cell
(new (calculatorMixin(randomizerMixin(Foo))))
Insert cell
Type JavaScript, then Shift-Enter. Ctrl-space for more options. Arrow ↑/↓ to switch modes.

Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more