EmberObject

The legacy base object model underlying older Ember classes.

Since Ember 4/5 (Octane) Spec ↗

Syntax

EmberObject.create(props) | class X extends EmberObject {}

Returns

EmberObject — An instance with the classic object model.

Examples

import EmberObject from '@ember/object';

const Person = EmberObject.extend({
  greet() {
    return `Hi, ${this.name}`;
  },
});

const p = Person.create({ name: 'Ada' });
p.greet();
// Octane equivalent: a native class
class Person {
  constructor(name) {
    this.name = name;
  }
  greet() {
    return `Hi, ${this.name}`;
  }
}

Notes

EmberObject (with get/set, .extend(), .create()) predates Octane. New code should use native classes with @tracked instead. You will still see EmberObject in framework internals and older addons.