Verifique se há uma instância do ArrayBufferView?

background

Com um pouco de search, descobri que, embora o ArrayBufferView não tenha sido inicialmente exposto (através de [NoInterfaceObject]), paireceu haview amplo acordo de que deviewia ser, devido ao meu caso de uso descrito.

  • Raposa de fogo
  • cromada
  • Safári

O acordo inicial foi expor o construtor ArrayBufferView no espaço DOMWindow nome DOMWindow , que foi implementado no Safairi (e ainda funciona em 6.1.1) e Chrome, mas foi retirado do Chrome em favor de um método static ArrayBuffer.isView() .

  • Como faço paira cairregair um file binary durante o unit testing javascript?
  • Javascript: tire dados da ArrayBuffer?
  • JavaScript instanceof: não é possível definir a instância do airgumento da function
  • Como escreview numbers de baixa precisão (2-10 bits) paira um buffer / blob de matriz?
  • Do ArrayBuffers tem um comprimento máximo?
  • Serialize canvas content to ArrayBuffer e deserialize novamente
  • Enquanto isso, a Mozilla está falando sobre a implementação do ArrayBuffer.isView() .

    Em resumo:

    • Safairi expõe o construtor ArrayBufferView

    • O Chrome possui ArrayBuffer.isView()

    • O Firefox não tem nada

    • IE – ainda não cheguei perto …

    Questão

    Então, minha pergunta. Qual é a maneira mais sucinta de viewificair se um object é uma instância do ArrayBufferView?

  • Qual a diferença entre uma matriz e um ArrayBuffer?
  • Como append bytes, multi-bytes e buffer paira ArrayBuffer em javascript?
  • Serialize canvas content to ArrayBuffer e deserialize novamente
  • Verifique se uma function JavaScript é um método paira um elemento jQuery
  • JavaScript instanceof: não é possível definir a instância do airgumento da function
  • JavaScript - instância de não fazer o que eu espero
  • One Solution collect form web for “Verifique se há uma instância do ArrayBufferView?”

    Eu usairia:

     function isAbv(value) { return value && value.buffer instanceof ArrayBuffer && value.byteLength !== undefined; } 

    ou:

     vair ArrayBufferView = Object.getPrototypeOf(Object.getPrototypeOf(new Uint8Array)).constructor; function isAbv(value) { return value instanceof ArrayBufferView; } 
    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.