JavaScript是面向对象的吗?

面向对象编程

面向对象编程有三个主要特征: 封装encapsulation, 继承inheritance 和 多态polymorphism。

封装: 封装涉及到自包含模式的创造,它将处理函数绑定到数据。 客户定义的数据类型称为类"classes",并且一个类的实例是一个对象。

继承: 这是一种机制,使得一个对象可以从其他对象获得某些或者全部的功能。

多态: 面向对象编程允许对象的准确类型,直到运行时态该对象被创建的时候,都是未知的。

综合这些特征,我们可以将一种语言归为面向对象的。

JavaScript是面向对象的吗?

JavaScript 是基于原型prototype-based的编程语言。一个基于原型的编程语言是一种面向对象的编程, 它使用函数作为类的构造器。尽管JavaScript有一个关键字class,但它没有类语句。并且,它提供了克隆,但是没有继承。

JavaScript 在很大程度上是基于对象object-based的,并且是一个出色的开发网站应用程序的面向对象语言。JavaScript 提供了针对自己的应用开发自己的对象的能力。规范的封装Encapsulation ,JavaScript 对象是支持数据和函数的实体,但是它们没有好的原生支持去隐藏内部细节。使用对象,可以在需要触发的事件中进行编码,并封装代码。 可以进行任意次数的初始化。JavaScript 对象不关心私有性。所以属性和方法都是公用的。并且, 在JavaScript里,我们可以用几种方法实现不同的多态polymorphism类型,同时可以做很多次。

面向对象的程序语言鼓励开发者重点关注分类和关系, 基于原型的程序开发语言鼓励开发者首先要关注行为,其次是分类。

原文链接