💾isClass()
JS ⟩ values ⟩ custom functions ⟩ isClass()
replit:typeName() (v.2)
require: isFunction(), functionDefinition()
(to use it, copy and paste from 📁 module file: typeName())
// ⭐️ check if value is a "class"
// - require:
// • isFunction()
// • functionDefinition()
function isClass(value) {
return (
// `value` is a function
isFunction(value) &&
// `value` is a "class" definition
functionDefinition(value).startsWith("class")
);
}replit:isClass()
require: isFunction(), functionDefinition()
// normal function
function foo() {
console.log('hello');
}
let a = 1; // number
class User {} // class
let user = new User(); // instance
// test cases
isClass(foo), // ❌ false
isClass(a), // ❌ false
isClass(User), // ✅ true
isClass(user), // ❌ false
// built-in objects
isClass(Object), // ❌ false❗
isClass(Array), // ❌ false❗
isClass(Promise), // ❌ false❗
isClass(Proxy), // ❌ false❗
isFunction(Object), // ✅ true
isFunction(Array), // ✅ true
// functionDefinition(a), // ⛔ TypeError
functionDefinition(foo), // function foo() {
// console.log('hello');
// }
functionDefinition(Array),
// function Array() { [native code] }
functionDefinition(Promise),
// function Promise() { [native code] }Last updated
Was this helpful?