类与实例
在面向对象编程中,有两个非常基础的概念,类与实例。
类(class),代表的一个种类,例如燕子、笔记本。每一个种类的物体都有其公共的属性、方法。例如燕子有翅膀(属性),可以飞(方法)。
实例(instance)代表的是一个种类真实存在的个体。比如有一只鸟,它是一个只燕子,不能说这只鸟是一类燕子(class)(显然语法上也说不通),只能说这只鸟的类型是燕子,这个鸟就是燕子的实例(instance)。
类记录了所有实例的公共属性、方法。
JavaScript 中的类与实例
在JavaScript中类是一个类对象(class object),通过类对象我们可以创建该类的实例对象(instance object)。
在我们之前的课程中,创建的所有对象都是instance object。比如:
var array = new Array() // 创建Array实例,Array是一个类
var number = new Number() // 创建Number实例,Number是一个类
var obj = {} // 创建Object实例,Object是一个类
instanceof运算符
在JavaScript中,可通过 instanceof 操作符来判断一个实例是否属于一个类。其语法为:
inst-obj instanceof class-obj // 判定inst-obj是否是class-obj的实例
实际上,instanceof本质是用于判断是否是继承链实例。在目前阶段,可以暂时理解为inst-obj是否是 class-obj的直接实例。
例如,对于前述代码,可以通过下面代码来测试:
var array = new Array()
console.log(array instanceof Array)
var number = new Number()
console.log(number instanceof Number)
var obj = {}
console.log(obj instanceof Object)
我们来看一下输出结果 :
instanceof输出结果可以看到,输出结果全部为true,这也就验证了他们之间的关系。
好的,这节课就讲到这里。这节课讲解了面向对象编程中非常基础而重要的概念,希望你掌握了。
什么是自定义类型?什么是构建函数?
请继续关注我的课程,我将在后续课程中为大家解答上述问题。
想学计算机技术吗?需要1对1专业级导师指导吗?想要团队陪你一起进步吗?欢迎加我为好友!
我的微信
网友评论