在JavaScript中,创建一个类A,并使得类扩展A {} instanceof A
为真是不可能的。
在JavaScript中,使用class
关键字来定义类,然后可以通过extends
关键字来实现继承。但是,JavaScript中的类继承是基于原型链的,而不是基于类的。也就是说,在extends
后面的类实际上是基于原类的一个子类,而不是直接继承自原类。
因此,在JavaScript中,类扩展A {} instanceof A
会返回false,因为类扩展A {}
创建的对象并不是直接继承自类A,而是继承自空对象{}
。
如果要判断一个对象是否是一个特定类的实例,可以使用instanceof
运算符,但是在JavaScript中,只能判断对象是否是其原型链中某个类的实例,而无法判断是否是其直接类的实例。
相对于JavaScript中的类,原型继承和组合继承更为常见。对于实现类似的功能,可以考虑使用原型继承或组合继承来创建对象,并根据需求来判断对象的类型。
领取专属 10元无门槛券
手把手带您无忧上云