类扩展了Uint8Array,如何返回Uint8Array?

时间:2018-10-23 14:40:45

标签: javascript typescript

我有这个自定义的简单类:

class U8a extends Uint8Array {
  logMe() {
    return this.subarray(0);
  }
}

我运行了这段代码:

const u = new U8a([1, 2, 3]);
console.log(u.logMe());

预期结果:

Uint8Array [ 1, 2, 3 ]

实际结果:

U8a [Uint8Array] [ 1, 2, 3 ]

是否可以仅将结果作为Uint8Array返回?

1 个答案:

答案 0 :(得分:1)

更新logMe方法以返回Uint8Array的新时刻,因此将没有logMe方法。

class U8a extends Uint8Array {
  logMe() {
    return new Uint8Array(this.entries());
  }
}

const u = new U8a([1, 2, 3]);
const u2 = u.logMe();
console.log(u2.logMe()); throw Uncaught TypeError: u2.logMe is not a function