代码之家  ›  专栏  ›  技术社区  ›  jeanpaul62

类扩展Uint8Array,如何返回Uint8Array?

  •  1
  • jeanpaul62  · 技术社区  · 7 年前

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

    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 ]
    

    是否可以仅以uint8数组的形式返回结果?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Muhammed Albarmavi    7 年前

    更新 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