JS 支持面向对象,如果一个语言支持面向对象,那么这个语言首先要能够表达出类和对象,在 JS 语言中,通过 class 表达出一个类,通过 new 关键字新创造一个对象。
基于面向对象的世界观,这个世界上不存在一个孤立的对象,所有的一个对象必须要从属于某个类。所以一个编程语言如果是面向对象的,那么就必须要能知晓某个对象是从属于哪个类的,在 JS 中是通过原型来解决这个问题的,只要发现某个对象和某个对象形成了某种关系,就可以认为这个对象从属于某个类的,具体来说就是如果一个对象的隐式原型指向某个构造函数的原型,那么就可以认为这个对象从属于该类。这就是原型出现的本质原因,也就是说原型出现的本质原因就是为了面向对象,
比如:
空对象 obj 从属于 Object 类,即:const obj = new Object();