class properties inheritance

Антон Шувалов anton at shuvalov.info
Sun Dec 28 13:42:57 PST 2014


Hi, guys! I'm confused with class properties. With prototype chains I can setup kinda default values which being replaced by values from children. But replacing become hard to work with classes. For example, we have simple module, some backbone view:

```js
class BaseView extends Backbone.View {
  constructor() {
    this.tagName = 'div';
    super(); // create element from this.tagName value
  }
}
```

And now we create inherited view:

```js
class Span extends BaseView {
  constructor() {
    this.tagName = 'span'
    super();
  }
}
```

But all `this` variables will be replaced by parent, not by child. It's kinda weird. Another example with prototype chains works fine:

```js
var BaseView = Backbone.View.extends({
  tagName: 'div'
})
```

```js
var Span = Backbone.View.extends({
  tagName: 'span'
});
```

How I can do similar things with es6 classes? Sorry if this question is already discussed.


More information about the es-discuss mailing list