Рассмотрим следующие классы ES6:
'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);
Насколько я понимаю, оба должны быть true
, а в Firefox и Chrome они есть, однако Node говорит, что es instanceof ExtendString
равно false
. То же самое и с другими конструкторами, а не только с String
.
Программное обеспечение, которое я использовал:
- Узел v5.11.0 с флагом
--harmony
. - Хром 50
- Фаерфокс 45
Какой движок JavaScript правильный и почему?