Consider the following ES6 Classes:
'use strict';
class Dummy {
}
class ExtendDummy extends Dummy {
    constructor(...args) {
        super(...args)
    }
}
class ExtendString extends String {
    constructor(...args) {
        super(...args)
    }
}
const ed = new ExtendDummy('dummy');
const es = new ExtendString('string');
console.log(ed instanceof ExtendDummy);
console.log(es instanceof ExtendString);My understanding is that both should be true, and in Firefox and Chrome they are, however Node says es instanceof ExtendString is false. It's the same with other constructors, not just String.
Software I used:
- Node v5.11.0 with the --harmonyflag.
- Chrome 50
- Firefox 45
Which JavaScript engine is correct and why?
 
     
    