035|JavaScript类与实例

2017-05-21  本文已影响23人  中年小钢炮

类与实例

在面向对象编程中,有两个非常基础的概念,类与实例。

类(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专业级导师指导吗?想要团队陪你一起进步吗?欢迎加我为好友!

我的微信
上一篇 下一篇

猜你喜欢

热点阅读