๐พ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?