const util = require('util');
// Example values
const values = [
'string',
123,
true,
Symbol('symbol'),
{ key: 'value' },
[1, 2, 3],
null,
undefined,
() => {},
BigInt(123),
new Date(),
/regex/,
Buffer.from('buffer'),
new Error('error')
];
// Check types for each value
values.forEach(value => {
console.log(`Value: ${util.inspect(value)}`);
console.log(`- isArray: ${util.types.isArrayBuffer(value)}`);
console.log(`- isDate: ${util.types.isDate(value)}`);
console.log(`- isRegExp: ${util.types.isRegExp(value)}`);
console.log(`- isNativeError: ${util.types.isNativeError(value)}`);
console.log(`- isPromise: ${util.types.isPromise(value)}`);
console.log(`- isPrimitive: ${util.isPrimitive(value)}`);
console.log(`- isString: ${util.isString(value)}`);
console.log(`- isNumber: ${util.isNumber(value)}`);
console.log(`- isBoolean: ${util.isBoolean(value)}`);
console.log(`- isSymbol: ${typeof value === 'symbol'}`);
console.log(`- isNull: ${value === null}`);
console.log(`- isUndefined: ${value === undefined}`);
console.log(`- isFunction: ${typeof value === 'function'}`);
console.log(`- isBuffer: ${Buffer.isBuffer(value)}`);
console.log('---');
});
Value: 'string' - isArray: false - isDate: false - isRegExp: false - isNativeError: false - isPromise: false - isPrimitive: true - isString: true - isNumber: false - isBoolean: false - isSymbol: false - isNull: false - isUndefined: false - isFunction: false - isBuffer: false --- Value: 123 - isArray: false - isDate: false - isRegExp: false - isNativeError: false - isPromise: false - isPrimitive: true - isString: false - isNumber: true - isBoolean: false - isSymbol: false - isNull: false - isUndefined: false - isFunction: false - isBuffer: false --- Value: true - isArray: false - isDate: false - isRegExp: false - isNativeError: false - isPromise: false - isPrimitive: true - isString: false - isNumber: false - isBoolean: true - isSymbol: false - isNull: false - isUndefined: false - isFunction: false - isBuffer: false --- Value: Symbol(symbol) - isArray: false - isDate: false - isRegExp: false - isNativeError: false - isPromise: false - isPrimitive: true - isString: false - isNumber: false - isBoolean: false - isSymbol: true - isNull: false - isUndefined: false - isFunction: false - isBuffer: false --- Value: { key: 'value' } - isArray: false - isDate: false - isRegExp: false - isNativeError: false - isPromise: false - isPrimitive: false - isString: false - isNumber: false - isBoolean: false - isSymbol: false - isNull: false - isUndefined: false - isFunction: false - isBuffer: false --- Value: [ 1, 2, 3 ] - isArray: true - isDate: false - isRegExp: false - isNativeError: false - isPromise: false - isPrimitive: false - isString: false - isNumber: false - isBoolean: false - isSymbol: false - isNull: false - isUndefined: false - isFunction: false - isBuffer: false --- Value: null - isArray: false - isDate: false - isRegExp: false - isNativeError: false - isPromise: false - isPrimitive: true - isString: false - isNumber: false - isBoolean: false - isSymbol: false - isNull: true - isUndefined: false - isFunction: false - isBuffer: false --- Value: undefined - isArray: false - isDate: false - isRegExp: false - isNativeError: false - isPromise: false - isPrimitive: true - isString: false - isNumber: false - isBoolean: false - isSymbol: false - isNull: false - isUndefined: true - isFunction: false - isBuffer: false --- Value: [Function (anonymous)] - isArray: false - isDate: false - isRegExp: false - isNativeError: false - isPromise: false - isPrimitive: false - isString: false - isNumber: false - isBoolean: false - isSymbol: false - isNull: false - isUndefined: false - isFunction: true - isBuffer: false --- Value: 123n - isArray: false - isDate: false - isRegExp: false - isNativeError: false - isPromise: false - isPrimitive: true - isString: false - isNumber: false - isBoolean: false - isSymbol: false - isNull: false - isUndefined: false - isFunction: false - isBuffer: false --- Value: 2025-05-22T06:26:41.138Z - isArray: false - isDate: true - isRegExp: false - isNativeError: false - isPromise: false - isPrimitive: false - isString: false - isNumber: false - isBoolean: false - isSymbol: false - isNull: false - isUndefined: false - isFunction: false - isBuffer: false --- Value: /regex/ - isArray: false - isDate: false - isRegExp: true - isNativeError: false - isPromise: false - isPrimitive: false - isString: false - isNumber: false - isBoolean: false - isSymbol: false - isNull: false - isUndefined: false - isFunction: false - isBuffer: false --- Value: <Buffer 62 75 66 66 65 72> - isArray: false - isDate: false - isRegExp: false - isNativeError: false - isPromise: false - isPrimitive: false - isString: false - isNumber: false - isBoolean: false - isSymbol: false - isNull: false - isUndefined: false - isFunction: false - isBuffer: true --- Value: Error: error at Object.<anonymous> (C:\work\nodejstut\app.js:18:3) at Module._compile (node:internal/modules/cjs/loader:1730:14) at Object..js (node:internal/modules/cjs/loader:1895:10) at Module.load (node:internal/modules/cjs/loader:1465:32) at Function._load (node:internal/modules/cjs/loader:1282:12) at TracingChannel.traceSync (node:diagnostics_channel:322:14) at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:170:5) at node:internal/main/run_main_module:36:49 - isArray: false - isDate: false - isRegExp: false - isNativeError: true - isPromise: false - isPrimitive: false - isString: false - isNumber: false - isBoolean: false - isSymbol: false - isNull: false - isUndefined: false - isFunction: false - isBuffer: false ---