📜  Node.js util.types.isArrayBufferView() 方法

📅  最后修改于: 2022-05-13 01:56:22.419000             🧑  作者: Mango

Node.js util.types.isArrayBufferView() 方法

“util”模块提供了用于调试目的的“utility”函数。为了访问这些函数,我们需要调用它们(通过 'require('util')')。

util.types.isArrayBufferView() (v10.0.0新增)方法是util模块的内置应用程序接口,相当于ArrayBuffer.isView()方法。它检查该值是否是类型化数组对象之一的实例或作为ArrayBuffer视图的 DataView。如果传递的值是类型数组对象DataView ,即ArrayBuffer ,则返回“true”,否则返回“false”。

句法:

const util = require('util');
util.types.isArrayBufferView(value);

参数:此方法接受如上所述和如下所述的单个参数:

  • value 它是一个必需参数,可以接受任何变量、Class、 函数、Object 或 JavaScript 原语或任何数据类型。

返回值 它返回一个布尔值。如果传递的值是类型数组对象或 DataView,即 ArrayBuffer,则返回“true”,否则返回“false”。

下面的示例说明了 Node.js 中 util.types.isArrayBufferView() 方法的使用。

示例 1:文件名:index.js

// Node.js program to demonstrate the 
// util.types.isArrayBufferView() method 
   
// Using require to access util module 
const util = require('util'); 
const {types} = require('util'); 
  
// Passing ArrayBuffer as parameter
console.log("1.>", util.types.isArrayBufferView(new ArrayBuffer()));  
// Returns false
  
// Passing Array with argument as parameter
console.log("2.>", util.types.isArrayBufferView([1, "a", "@", "18"]));  
// Returns false
  
// Passing Buffer as parameter
console.log("3.>", 
util.types.isArrayBufferView(Buffer.from('hello world'))); 
// Returns true
  
// Passing Float64Array as parameter
console.log("4.>", util.types.isArrayBufferView(new Float64Array()));  
// Returns true
  
// Passing data as parameter
console.log("5.>", util.types.isArrayBufferView([1, 5, 8, 18]));  
// Returns false
  
// Passing Array Buffer wrapped in dataView as parameter
console.log("6.>", 
util.types.isArrayBufferView(new DataView(new ArrayBuffer(16))));  
// Returns true
  
// Passing Int8Array as parameter
console.log("7.>", util.types.isArrayBufferView(new Int8Array(8)));  
// Returns true

使用以下命令运行index.js文件:

node index.js

输出:

示例 2:文件名:index.js

// Node.js program to demonstrate the 
// util.types.isArrayBufferView() method 
   
// Using require to access util module 
const util = require('util'); 
const {types} = require('util'); 
   
let value1 = Uint8Array.from([1, 2, 3, 4])
var akash = value1.subarray(0, 2)
var arrayBuffer = akash.buffer; 
var geeksforgeeks = new BigUint64Array(465);
  
// Passing converted arrayBuffer as parameter
console.log("1.>", util.types.isArrayBufferView(arrayBuffer));  
// Returns false
  
// Passing empty parameter
console.log("2.>", util.types.isArrayBufferView());  
// Returns false
  
// Passing Float32Array as parameter
console.log("3.>", util.types.isArrayBufferView(new Float32Array()));  
// Returns true
  
// Passing JSON as parameter
console.log("4.>", 
util.types.isArrayBufferView({name:"satyam", value:"sahai"}));  
// Returns false
  
var amit = new Uint8Array(["alfa", 1]);
  
// Converting to Array buffer
var newArrayBuffer = amit.buffer; 
  
// Converting and passing array buffer as parameter
console.log("5.>", util.types.isArrayBufferView(newArrayBuffer));  
// Returns false
  
// Passing Uint8Array as parameter
console.log("6.>", types.isArrayBufferView(new Uint8Array()));  
// Returns true
  
// Passing and converting buffer as parameter
console.log("7.>", types.isArrayBufferView(geeksforgeeks.buffer));  
// Returns false
   
var var1 = new ArrayBuffer(); 
var var2 = new Int16Array(); 
   
// Calling util.types.isArrayBufferView() method 
if (util.types.isArrayBufferView(var1)) 
    console.log("Yes, the value have ArrayBuffer View."); 
else
    console.log("No, provided value do not have ArrayBuffer View."); 
   
// Calling util.types.isArrayBufferView() method 
if (util.types.isArrayBufferView(var2)) 
    console.log("Yes, the value have ArrayBuffer View."); 
else
    console.log("No, provided value do not have ArrayBuffer View"); 

使用以下命令运行index.js文件:

node index.js

输出:

参考: https://nodejs.org/api/util.html#util_util_types_isarraybufferview_value