types module
函式
| is |
如果值是內建 請參閱
|
| is |
如果值是
|
| is |
如果值是內建
|
| is |
如果值是其中一個
|
| is |
如果值是異步函式
|
| is |
如果值是
|
| is |
如果值是 BigInt 物件,則傳回
|
| is |
如果值是
|
| is |
如果值是布爾物件,則傳回
|
| is |
如果值是任何 Boxed 基本物件,例如由 例如:
|
| is |
如果 |
| is |
如果值是內建
請參閱 |
| is |
如果值是內建
|
| is |
如果值是原生 原生
如需 |
| is |
如果值是內建
|
| is |
如果值是內建
|
| is |
如果值是內建
|
| is |
如果值為產生器函式,則傳回
|
| is |
如果值是從內建產生器函式傳回的產生器物件,則傳回
|
| is |
如果值是內建
|
| is |
如果值是內建
|
| is |
如果值是內建
|
| is |
如果 |
| is |
如果值是內建
|
| is |
如果值是針對內建
|
| is |
|
| is |
如果
原生錯誤類型的子類別也是原生錯誤:
相反地,
|
| is |
如果值是數字物件,則傳回
|
| is |
如果值是內建
|
| is |
如果值是
|
| is |
如果值是正則表達式物件,則傳回
|
| is |
如果值是內建
|
| is |
如果值是針對內建
|
| is |
如果值是內建
|
| is |
如果值是字串物件,則傳回
|
| is |
如果值是符號物件,則傳回
|
| is |
如果值是內建
請參閱 |
| is |
如果值是內建
|
| is |
如果值是內建
|
| is |
如果值是內建
|
| is |
如果值是內建
|
| is |
如果值是內建
|
| is |
如果值是內建
|
函式詳細資料
isAnyArrayBuffer(unknown)
如果值是內建 true 或 ArrayBuffer 實例,則傳回 SharedArrayBuffer。
請參閱 util.types.isArrayBuffer() 與 util.types.isSharedArrayBuffer()。
util.types.isAnyArrayBuffer(new ArrayBuffer()); // Returns true
util.types.isAnyArrayBuffer(new SharedArrayBuffer()); // Returns true
function isAnyArrayBuffer(object: unknown): object
參數
- object
-
unknown
傳回
object
isArgumentsObject(unknown)
如果值是 true 物件,則傳回 arguments。
function foo() {
util.types.isArgumentsObject(arguments); // Returns true
}
function isArgumentsObject(object: unknown): object
參數
- object
-
unknown
傳回
object
isArrayBuffer(unknown)
如果值是內建 true 實例,則傳回 ArrayBuffer。
這不會 包含 SharedArrayBuffer 實例。 通常,最好同時測試這兩者:請參閱 util.types.isAnyArrayBuffer()。
util.types.isArrayBuffer(new ArrayBuffer()); // Returns true
util.types.isArrayBuffer(new SharedArrayBuffer()); // Returns false
function isArrayBuffer(object: unknown): object
參數
- object
-
unknown
傳回
object
isArrayBufferView(unknown)
如果值是其中一個 true 檢視的實例,例如具類型的陣列物件或 ArrayBuffer,則傳回 DataView。 相當於 ArrayBuffer.isView()。
util.types.isArrayBufferView(new Int8Array()); // true
util.types.isArrayBufferView(Buffer.from('hello world')); // true
util.types.isArrayBufferView(new DataView(new ArrayBuffer(16))); // true
util.types.isArrayBufferView(new ArrayBuffer()); // false
function isArrayBufferView(object: unknown): object
參數
- object
-
unknown
傳回
object
isAsyncFunction(unknown)
isBigInt64Array(unknown)
如果值是 true 實例,則傳回 BigInt64Array。
util.types.isBigInt64Array(new BigInt64Array()); // Returns true
util.types.isBigInt64Array(new BigUint64Array()); // Returns false
function isBigInt64Array(value: unknown): value
參數
- value
-
unknown
傳回
value
isBigIntObject(unknown)
如果值是 BigInt 物件,則傳回 true,例如,Object(BigInt(123))所建立。
util.types.isBigIntObject(Object(BigInt(123))); // Returns true
util.types.isBigIntObject(BigInt(123)); // Returns false
util.types.isBigIntObject(123); // Returns false
function isBigIntObject(object: unknown): object
參數
- object
-
unknown
傳回
object
isBigUint64Array(unknown)
如果值是 true 實例,則傳回 BigUint64Array。
util.types.isBigUint64Array(new BigInt64Array()); // Returns false
util.types.isBigUint64Array(new BigUint64Array()); // Returns true
function isBigUint64Array(value: unknown): value
參數
- value
-
unknown
傳回
value
isBooleanObject(unknown)
如果值是布爾物件,則傳回 true,例如,new Boolean()所建立。
util.types.isBooleanObject(false); // Returns false
util.types.isBooleanObject(true); // Returns false
util.types.isBooleanObject(new Boolean(false)); // Returns true
util.types.isBooleanObject(new Boolean(true)); // Returns true
util.types.isBooleanObject(Boolean(false)); // Returns false
util.types.isBooleanObject(Boolean(true)); // Returns false
function isBooleanObject(object: unknown): object
參數
- object
-
unknown
傳回
object
isBoxedPrimitive(unknown)
如果值是任何 Boxed 基本物件,例如由 true、new Boolean() 或 new String()所建立,則傳回 Object(Symbol())。
例如:
util.types.isBoxedPrimitive(false); // Returns false
util.types.isBoxedPrimitive(new Boolean(false)); // Returns true
util.types.isBoxedPrimitive(Symbol('foo')); // Returns false
util.types.isBoxedPrimitive(Object(Symbol('foo'))); // Returns true
util.types.isBoxedPrimitive(Object(BigInt(5))); // Returns true
function isBoxedPrimitive(object: unknown): object
參數
- object
-
unknown
傳回
object
isCryptoKey(unknown)
如果 true 為 value,則傳回 CryptoKey,否則傳回 false。
function isCryptoKey(object: unknown): object
參數
- object
-
unknown
傳回
object
isDataView(unknown)
如果值是內建 true 實例,則傳回 DataView。
const ab = new ArrayBuffer(20);
util.types.isDataView(new DataView(ab)); // Returns true
util.types.isDataView(new Float64Array()); // Returns false
請參閱 ArrayBuffer.isView()。
function isDataView(object: unknown): object
參數
- object
-
unknown
傳回
object
isDate(unknown)
如果值是內建 true 實例,則傳回 Date。
util.types.isDate(new Date()); // Returns true
function isDate(object: unknown): object
參數
- object
-
unknown
傳回
object
isExternal(unknown)
如果值是原生 true 值,則傳回 External。
原生 External 值是特殊的物件類型,其中包含原始C++指標(void*),以便從機器碼存取,而且沒有其他屬性。 這類物件是由內部 Node.js 或原生附加元件所建立。 在 JavaScript 中,它們是具有原型的null物件。
#include <js_native_api.h>
#include <stdlib.h>
napi_value result;
static napi_value MyNapi(napi_env env, napi_callback_info info) {
int* raw = (int*) malloc(1024);
napi_status status = napi_create_external(env, (void*) raw, NULL, NULL, &result);
if (status != napi_ok) {
napi_throw_error(env, NULL, "napi_create_external failed");
return NULL;
}
return result;
}
...
DECLARE_NAPI_PROPERTY("myNapi", MyNapi)
...
import native from 'napi_addon.node';
import { types } from 'node:util';
const data = native.myNapi();
types.isExternal(data); // returns true
types.isExternal(0); // returns false
types.isExternal(new String('foo')); // returns false
如需 napi_create_external的詳細資訊,請參閱 napi_create_external()。
function isExternal(object: unknown): boolean
參數
- object
-
unknown
傳回
boolean
isFloat16Array(unknown)
如果值是內建 true 實例,則傳回 Float16Array。
util.types.isFloat16Array(new ArrayBuffer()); // Returns false
util.types.isFloat16Array(new Float16Array()); // Returns true
util.types.isFloat16Array(new Float32Array()); // Returns false
function isFloat16Array(object: unknown): object
參數
- object
-
unknown
傳回
object
isFloat32Array(unknown)
如果值是內建 true 實例,則傳回 Float32Array。
util.types.isFloat32Array(new ArrayBuffer()); // Returns false
util.types.isFloat32Array(new Float32Array()); // Returns true
util.types.isFloat32Array(new Float64Array()); // Returns false
function isFloat32Array(object: unknown): object
參數
- object
-
unknown
傳回
object
isFloat64Array(unknown)
如果值是內建 true 實例,則傳回 Float64Array。
util.types.isFloat64Array(new ArrayBuffer()); // Returns false
util.types.isFloat64Array(new Uint8Array()); // Returns false
util.types.isFloat64Array(new Float64Array()); // Returns true
function isFloat64Array(object: unknown): object
參數
- object
-
unknown
傳回
object
isGeneratorFunction(unknown)
如果值為產生器函式,則傳回 true。
這隻會回報 JavaScript 引擎所看到的內容;特別是,如果使用轉譯工具,傳回值可能不符合原始原始原始程式碼。
util.types.isGeneratorFunction(function foo() {}); // Returns false
util.types.isGeneratorFunction(function* foo() {}); // Returns true
function isGeneratorFunction(object: unknown): object
參數
- object
-
unknown
傳回
object
isGeneratorObject(unknown)
如果值是從內建產生器函式傳回的產生器物件,則傳回 true。
這隻會回報 JavaScript 引擎所看到的內容;特別是,如果使用轉譯工具,傳回值可能不符合原始原始原始程式碼。
function* foo() {}
const generator = foo();
util.types.isGeneratorObject(generator); // Returns true
function isGeneratorObject(object: unknown): object
參數
- object
-
unknown
傳回
object
isInt16Array(unknown)
如果值是內建 true 實例,則傳回 Int16Array。
util.types.isInt16Array(new ArrayBuffer()); // Returns false
util.types.isInt16Array(new Int16Array()); // Returns true
util.types.isInt16Array(new Float64Array()); // Returns false
function isInt16Array(object: unknown): object
參數
- object
-
unknown
傳回
object
isInt32Array(unknown)
如果值是內建 true 實例,則傳回 Int32Array。
util.types.isInt32Array(new ArrayBuffer()); // Returns false
util.types.isInt32Array(new Int32Array()); // Returns true
util.types.isInt32Array(new Float64Array()); // Returns false
function isInt32Array(object: unknown): object
參數
- object
-
unknown
傳回
object
isInt8Array(unknown)
如果值是內建 true 實例,則傳回 Int8Array。
util.types.isInt8Array(new ArrayBuffer()); // Returns false
util.types.isInt8Array(new Int8Array()); // Returns true
util.types.isInt8Array(new Float64Array()); // Returns false
function isInt8Array(object: unknown): object
參數
- object
-
unknown
傳回
object
isKeyObject(unknown)
如果 true 為 value,則傳回 KeyObject,否則傳回 false。
function isKeyObject(object: unknown): object
參數
- object
-
unknown
傳回
object
isMap<T>({} | T)
如果值是內建 true 實例,則傳回 Map。
util.types.isMap(new Map()); // Returns true
function isMap<T>(object: {} | T): object
參數
- object
-
{} | T
傳回
object
isMapIterator(unknown)
如果值是針對內建 true 實例傳回的反覆運算器,則傳回 Map。
const map = new Map();
util.types.isMapIterator(map.keys()); // Returns true
util.types.isMapIterator(map.values()); // Returns true
util.types.isMapIterator(map.entries()); // Returns true
util.types.isMapIterator(map[Symbol.iterator]()); // Returns true
function isMapIterator(object: unknown): boolean
參數
- object
-
unknown
傳回
boolean
isModuleNamespaceObject(unknown)
isNativeError(unknown)
警告
此 API 現已淘汰。
The util.types.isNativeError API is deprecated. Please use Error.isError instead.
如果 true的建構函式傳回值,則傳回 Error。
console.log(util.types.isNativeError(new Error())); // true
console.log(util.types.isNativeError(new TypeError())); // true
console.log(util.types.isNativeError(new RangeError())); // true
原生錯誤類型的子類別也是原生錯誤:
class MyError extends Error {}
console.log(util.types.isNativeError(new MyError())); // true
instanceof 原生錯誤類別的值不等於傳回該值 isNativeError()true。
isNativeError() 傳回來自不同 true 的錯誤 ,而 instanceof Error 傳回這些錯誤的 false:
import { createContext, runInContext } from 'node:vm';
import { types } from 'node:util';
const context = createContext({});
const myError = runInContext('new Error()', context);
console.log(types.isNativeError(myError)); // true
console.log(myError instanceof Error); // false
相反地,isNativeError() 會針對原生錯誤建構函式未傳回的所有物件傳回 false。 這包括 instanceof 原生錯誤的值:
const myError = { __proto__: Error.prototype };
console.log(util.types.isNativeError(myError)); // false
console.log(myError instanceof Error); // true
function isNativeError(object: unknown): object
參數
- object
-
unknown
傳回
object
isNumberObject(unknown)
如果值是數字物件,則傳回 true,例如,new Number()所建立。
util.types.isNumberObject(0); // Returns false
util.types.isNumberObject(new Number(0)); // Returns true
function isNumberObject(object: unknown): object
參數
- object
-
unknown
傳回
object
isPromise(unknown)
如果值是內建 true,則傳回 Promise。
util.types.isPromise(Promise.resolve(42)); // Returns true
function isPromise(object: unknown): object
參數
- object
-
unknown
傳回
object
isProxy(unknown)
如果值是 true 實例,則傳回 Proxy。
const target = {};
const proxy = new Proxy(target, {});
util.types.isProxy(target); // Returns false
util.types.isProxy(proxy); // Returns true
function isProxy(object: unknown): boolean
參數
- object
-
unknown
傳回
boolean
isRegExp(unknown)
如果值是正則表達式物件,則傳回 true。
util.types.isRegExp(/abc/); // Returns true
util.types.isRegExp(new RegExp('abc')); // Returns true
function isRegExp(object: unknown): object
參數
- object
-
unknown
傳回
object
isSet<T>({} | T)
如果值是內建 true 實例,則傳回 Set。
util.types.isSet(new Set()); // Returns true
function isSet<T>(object: {} | T): object
參數
- object
-
{} | T
傳回
object
isSetIterator(unknown)
如果值是針對內建 true 實例傳回的反覆運算器,則傳回 Set。
const set = new Set();
util.types.isSetIterator(set.keys()); // Returns true
util.types.isSetIterator(set.values()); // Returns true
util.types.isSetIterator(set.entries()); // Returns true
util.types.isSetIterator(set[Symbol.iterator]()); // Returns true
function isSetIterator(object: unknown): boolean
參數
- object
-
unknown
傳回
boolean
isSharedArrayBuffer(unknown)
如果值是內建 true 實例,則傳回 SharedArrayBuffer。
這不會 包含 ArrayBuffer 實例。 通常,最好同時測試這兩者:請參閱 util.types.isAnyArrayBuffer()。
util.types.isSharedArrayBuffer(new ArrayBuffer()); // Returns false
util.types.isSharedArrayBuffer(new SharedArrayBuffer()); // Returns true
function isSharedArrayBuffer(object: unknown): object
參數
- object
-
unknown
傳回
object
isStringObject(unknown)
如果值是字串物件,則傳回 true,例如,new String()所建立。
util.types.isStringObject('foo'); // Returns false
util.types.isStringObject(new String('foo')); // Returns true
function isStringObject(object: unknown): object
參數
- object
-
unknown
傳回
object
isSymbolObject(unknown)
如果值是符號物件,則傳回 true,方法是在 Object() 基本類型上呼叫 Symbol。
const symbol = Symbol('foo');
util.types.isSymbolObject(symbol); // Returns false
util.types.isSymbolObject(Object(symbol)); // Returns true
function isSymbolObject(object: unknown): object
參數
- object
-
unknown
傳回
object
isTypedArray(unknown)
如果值是內建 true 實例,則傳回 TypedArray。
util.types.isTypedArray(new ArrayBuffer()); // Returns false
util.types.isTypedArray(new Uint8Array()); // Returns true
util.types.isTypedArray(new Float64Array()); // Returns true
請參閱 ArrayBuffer.isView()。
function isTypedArray(object: unknown): object
參數
- object
-
unknown
傳回
object
isUint16Array(unknown)
如果值是內建 true 實例,則傳回 Uint16Array。
util.types.isUint16Array(new ArrayBuffer()); // Returns false
util.types.isUint16Array(new Uint16Array()); // Returns true
util.types.isUint16Array(new Float64Array()); // Returns false
function isUint16Array(object: unknown): object
參數
- object
-
unknown
傳回
object
isUint32Array(unknown)
如果值是內建 true 實例,則傳回 Uint32Array。
util.types.isUint32Array(new ArrayBuffer()); // Returns false
util.types.isUint32Array(new Uint32Array()); // Returns true
util.types.isUint32Array(new Float64Array()); // Returns false
function isUint32Array(object: unknown): object
參數
- object
-
unknown
傳回
object
isUint8Array(unknown)
如果值是內建 true 實例,則傳回 Uint8Array。
util.types.isUint8Array(new ArrayBuffer()); // Returns false
util.types.isUint8Array(new Uint8Array()); // Returns true
util.types.isUint8Array(new Float64Array()); // Returns false
function isUint8Array(object: unknown): object
參數
- object
-
unknown
傳回
object
isUint8ClampedArray(unknown)
如果值是內建 true 實例,則傳回 Uint8ClampedArray。
util.types.isUint8ClampedArray(new ArrayBuffer()); // Returns false
util.types.isUint8ClampedArray(new Uint8ClampedArray()); // Returns true
util.types.isUint8ClampedArray(new Float64Array()); // Returns false
function isUint8ClampedArray(object: unknown): object
參數
- object
-
unknown
傳回
object
isWeakMap(unknown)
如果值是內建 true 實例,則傳回 WeakMap。
util.types.isWeakMap(new WeakMap()); // Returns true
function isWeakMap(object: unknown): object
參數
- object
-
unknown
傳回
object
isWeakSet(unknown)
如果值是內建 true 實例,則傳回 WeakSet。
util.types.isWeakSet(new WeakSet()); // Returns true
function isWeakSet(object: unknown): object
參數
- object
-
unknown
傳回
object